Controller控制层@RequestMapping,@ResponseBody,@RequestBody的使用
1.@RequestMapping("/url")
这里的url是请求路径的一部分,一般作用在Controller的方法上,作为请求映射的地址.
@Controller
@RequestMapping(value = "/test") //类级别映射,可以没有,一般用于减少书写量
public class test {
//方法级别映射,必须有,那么这个方法的访问地址就是/test/aaa
@RequestMapping(value = "/aaa") //value可以省略
public String getMyName() {
return "test";
}
}
2.@ResponseBody
@ResponseBody作用在方法上,
方法的返回结果不会被解析为跳转路径,而是直接写入HTTP response body响应体中
@Controller,@ResponseBody可以合二为一,在类上直接写@RestController
@ResponseBody注解的作用是将controller的方法返回的对象通过适当的转换器转换为指定格式之后,写入到response对象的body区,通常用来返回json数据
但是需要注意的是,在使用此注解之后不会再走视图解析器,直接将数据写入HTTP response body响应体中
@RestController
@RequestMapping("/test")
public class test {
@RequestMapping( "/login")
// @ResponseBody
public User login(User user) {
return user;
}
}
3.@RequestBody

@RequestBody主要用来接收前端传递给后端的json字符串中的数据的(请求体中的数据的);
以上例子中,product帮你封装对象的时候,只会按照key value的这种字符串的形式去封装,只能按照最原始的键值对的方式getParameter封装
它不认识json格式
加注解@RequestBody 告诉你不要getParameter获取封装参数了,直接从请求体中拿参数封装就可以

本文介绍了Spring MVC中Controller控制层的注解使用,包括@RequestMapping用于定义请求映射,@ResponseBody将方法返回值写入HTTP响应体,常用于返回JSON数据,以及@RequestBody用于接收请求体中的JSON数据并封装成对象。
3256

被折叠的 条评论
为什么被折叠?



