成功请求到后台,页面却报错404

今天在学看springboot的入门案例,看完后就动手开始练手,就遇到了请求下面的问题:

前台请求成功发送到后面,并在后台处理完了,但页面却报错404,查了好一会资料发现:

原因是controller忘记写返回状态码@responsebody,spring对返回映射值时找不到对应的视图,报错404。

延伸:

@responsebody表示该方法的返回结果直接写入HTTP response body中。
它的使用情况如下:
1、一般在异步获取数据时使用,在使用@RequestMapping后,返回值通常解析为跳转路径,加上@responsebody后返回结果不会被解析为跳转路径,而是直接写入HTTP response body中。比如异步获取json数据,加上@responsebody后,会直接返回json数据。


2、一般是指定要response 的type。比如json 或 xml 可以直接用jackson或jaxb的包,然后就可以自动返回了,xml中也无需多的配置,就可以使用。


好处是:GET模式下,这里使用了@PathVariable绑定输入参数,非常适合Restful风格。因为隐藏了参数与路径的关系,可以提升网站的安全性,静态化页面,降低恶意攻击风险。
POST模式下,使用@RequestBody绑定请求对象,Spring会帮你进行协议转换,将Json、Xml协议转换成你需要的对象。
@ResponseBody可以标注任何对象,由Srping完成对象——协议的转换。


坏处是:返回之前,若前端编码格式不一致,很容易导致乱码。

猜你喜欢

转载自blog.csdn.net/ysh598923879/article/details/81098948
今日推荐