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();
    }

}
原文地址:https://www.cnblogs.com/konglxblog/p/14826900.html