Spring中的注解 @RequestBody和@ResponseBody的使用和区别
Posted 淼
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring中的注解 @RequestBody和@ResponseBody的使用和区别相关的知识,希望对你有一定的参考价值。
@RequestBody
- @RequestBody的作用是将前端传来的json格式的数据转为自己定义好的javabean对象,需要注意的是传入数据的属性名称要和后端javabean中定义的一致
- @RequestBody要写在方法的参数前,不能写在方法名上方
@ResponseBody
- @ResponseBody的作用是将后端以return返回的javabean类型数据转为json类型数据。
- @ResponseBody要写在方法名上(如果使用@Restcontroller注解则不用写,因为Restcontroller注解里包含了ResponseBody注解)
前端传过来的参数必须和实例类里的参数定义的一致,本例就是和CourseVo里的属性名称一致
package com.stu.eduservice.controller; import com.stu.commonutils.ResultData; import com.stu.eduservice.entity.vo.CourseVo; import com.stu.eduservice.service.IEduCourseService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; /** * <p> * 课程 前端控制器 * </p> * * @author stu * @since 2021-05-29 */ @RestController @RequestMapping("/eduservice/course") @CrossOrigin public class EduCourseController { @Autowired private IEduCourseService eduCourseService; //添加课程基本信息 //@RestController里包含了ResponseBody注解,如果controller不是@RestController而是@Controller,则这里需要加上ResponseBody注解 @PostMapping("addCourseInfo") public ResultData addCourseInfo(@RequestBody CourseVo courseVo){ eduCourseService.saveCourseInfo(courseVo); return ResultData.success(); } }
以上是关于Spring中的注解 @RequestBody和@ResponseBody的使用和区别的主要内容,如果未能解决你的问题,请参考以下文章
自定义spring参数注解 - 打破@RequestBody单体限制
Spring中的@RequestBody注解与常规的HTTP方法的传值方式