@RequestBody 和 @ResponseBody 详解

一、@RequestBody

@RequestBody 作用在形参列表上时,用于将前台发送过来固定格式的数据(xml 格式或者 json 等)封装为对应的 JavaBean 对象,

CoordinatesParam为自己配置的参数类

@ApiOperation(value = "获取地图查询的结果")
@PostMapping(value = "/getMapQueryList")
public CommonResult<?> getMapQueryList(Principal principal, 
		@RequestBody CoordinatesParam coordinate) {
    
    
		
		return null;
}

二、@ResponseBody

@ResponseBody 的作用其实是将 java 对象转为 json 格式的数据。@responseBody 注解的作用是将 controller 的方法返回的对象通过适当的转换器转换为指定的格式之后,写入到 response对象的 body 区,通常用来返回 JSON 数据或者是 XML 数据。

注意:在使用此注解之后不会再走视图处理器,而是直接将数据写入到输入流中,他的效果等同于通过 response 对象输出指定格式的数据。

在使用 @RequestMapping 后,返回值通常解析为跳转路径,但是加上 @ResponseBody 后返回结果不会被解析为跳转路径,而是直接写入 HTTP response body 中。 比如异步获取 json 数据,加上 @ResponseBody 后,会直接返回 json 数据。

@RestController = @Controller + @ResponseBody

猜你喜欢

转载自blog.csdn.net/weixin_44860226/article/details/129637855