Spring Post Controller重定向仅打印url而不是重定向

时间:2018-01-13 16:48:30

标签: spring redirect post controller

我一直在研究一个获取汽车数据(licensePlate和品牌)的Spring Boot应用程序,并将其保存到数据库中。到目前为止,它正在工作,但我希望在表单提交后重定向到一侧,而不是重定向,它只打印出它应该去的链接。

这是我的控制器:

@RequestMapping(value = "/savecar", method = RequestMethod.POST)
public @ResponseBody String saveCar(@RequestParam("licensePlate") String licensePlate, @RequestParam("brand") String brand, HttpServletRequest request) {
    Car car = new Car(licensePlate, brand);
    carRepository.save(car);
    String referer = request.getHeader("Referer");
    return "redirect:" + referer;
}

我得到的是:

redirect:http://localhost:1333/cars

在我的浏览器窗口中。 我错过了什么?谢谢!如果您需要更多细节,请询问。

1 个答案:

答案 0 :(得分:1)

正如@lzagkaretos所说,你需要删除@ResponseBody注释。你得到一个字符串而不是包含@ResponseBody的重定向的原因是因为通过将@ResponseBody与@Controller注释结合起来,你实际上得到了@RestController,并且任何返回的值都将是JSON格式(produce = MediaType.APPLICATION_JSON_VALUE) )或您选择作为返回值的任何其他格式。

相关问题