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

标签 spring redirect post controller

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

这是我的 Controller :

@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

在我的浏览器窗口中。 我缺少什么?谢谢!如果您需要更多详细信息,请询问。

最佳答案

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

关于Spring Post Controller重定向仅打印url而不是重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48242044/

相关文章:

使用 Nginx 在 Ghost 博客上进行 SSL 重定向和身份验证

javascript - 尝试发布大型 JSON 数据时出现错误请求错误

java - Hibernate - 访问新数据字段时无法解决属性错误

java - 为什么 Spring 注解和 xml 配置注入(inject)集合的方式不同?

Spring Cloud 与 Spring 平台 BOM

django - 在 Nginx 后面通过 HTTPS 访问 Django Admin

apache - htaccess - 重定向到子文件夹,但保留对上层文件夹的访问权限

java - 无法在未指定 LoadTimeWeaver 的情况下应用类转换器

Java HttpURLConnection | POST 方法 | HTTP header 字段的顺序

jQuery 在 AJAX 请求时同时发送 GET 和 POST 参数