https://www.cnblogs.com/shuaifing/p/8119664.html
一
@Controller和@RestController的区别
@RestController注解相当于@ResponseBody + @Controller合在一起的作用。
@RestController这个注解,就不能返回jsp,html页面,视图解析器无法解析jsp,html页面
1) 如果只是使用@RestController注解Controller,则Controller中的方法无法返回jsp页面,或者html,配置的视图解析器 InternalResourceViewResolver不起作用,返回的内容就是Return 里的内容。
2) 如果需要返回到指定页面,则需要用 @Controller配合视图解析器InternalResourceViewResolver才行。
如果需要返回JSON,XML或自定义mediaType内容到页面,则需要在对应的方法上加上@ResponseBody注解。
二
@RequestMapping的参数和用法
https://blog.csdn.net/weixin_43453386/article/details/83419060
可用于类上或是方法上.
类上 表示类中的所有响应请求的方法都是以该地址作为父路径
@RequestMapping("/building")
public class BuildingController {
}
方法上
@RequestMapping("/building")
public class BuildingController {
@RequestMapping(value = "/list",method = RequestMethod.POST))
public BaseDTO list(@PathVariable String communityId ) {
// TODO
}
}
指向特定的URL,
method指出操作类型
也可简化, 用以下来代替
- @GetMapping
- @PostMapping
- @PutMapping
- @DeleteMapping
- @PatchMapping
三