首先@Controller与@Responsebody的联合使用的作用就相当于@RestController
@RestController注解的作用就是将当前这个类作为控制层的组件(Bean)添加到spring容器中
并且return返回的是json字符,想要return返回到jsp页面之类的则可以使用@Controller
@RestController //这是一个组合注解,等同于@Controller和@ResponseBody两个注解结合使用的效果,主要作用是将当前这个类作为控制层的组件添加到spring容器中,并且数据以json字符格式显示出来
@RequestMapping("/user")
@Slf4j
public class LoginController {
@GetMapping("/discuss/{userId}")
public String discuss(BlogPage<IndexDataVo> blogPage, @PathVariable Integer userId, ModelMap modelMap){
blogPage.setSize(2);
blogPage=(BlogPage<IndexDataVo>) invitationService.selectMyInvitation(blogPage,userId);
modelMap.put("page",blogPage);
return "site/myself-invatation";
}
}
@Responsebody则是将返回的结果以json的形式显示在页面,所以当使用@Controller注解后又需要返回json数据显示,可以进行联合使用,在方法上面使用@Reponsebody
@ResponseBody
@PostMapping("/register")
public R register(@RequestBody UserEntity userEntity){
userService.register(userEntity);
return R.ok();
}
包括@PostMapping与@GetMapping也是类似。它们实际上也就是@RequestMapping(method = RequestMethod.POST)、@RequestMapping(method = RequestMethod.GET)。之间的组合使用
GET
【获取资源】本质就是发送一个请求来取得服务器上的某一资源。资源通过一组HTTP头和呈现数据(如HTML文本,或者图片或者视频等)返回给客户端。GET请求中,永远不会包含呈现数据。 即GET请求只用来向服务器获取资源,而GET请求本身不应该携带任何呈现数据。
POST
【传输实体文本】向指定资源提交数据进行处理请求。数据被包含在POST请求体中(例如提交表单或者上传文件)。POST 请求可能会导致新的资源的建立或已有资源的修改。
GET
【获取资源】本质就是发送一个请求来取得服务器上的某一资源。资源通过一组HTTP头和呈现数据(如HTML文本,或者图片或者视频等)返回给客户端。GET请求中,永远不会包含呈现数据。 即GET请求只用来向服务器获取资源,而GET请求本身不应该携带任何呈现数据。
参考于:https://blog.csdn.net/demo_yo/article/details/123595846