前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【SpringBoot教程】RequestBody对象数组提交接口开发实战

【SpringBoot教程】RequestBody对象数组提交接口开发实战

作者头像
大数据小禅
发布2023-03-31 13:13:25
9670
发布2023-03-31 13:13:25
举报
文章被收录于专栏:YO大数据YO大数据

专栏地址 系列教程更新中 🚀 专栏介绍: 本专栏为SpringBoot+Spring+Mybatis的系列零基础教程,从框架的基础知识讲起,从0开始实现一个在线教育实战项目

在这里插入图片描述
在这里插入图片描述

SpringBoot请求实战

@RequestBody注解说明
  • SpringBoot中有很多注解,需要多使用才能更好的记住
  • 在 Spring Boot 中,@RequestBody 注解的作用与 Spring MVC 中的作用是一样的,即将 HTTP 请求正文中的数据绑定到方法的参数上。使用 @RequestBody 注解的方法参数可以是任意类型,Spring Boot 会自动将请求正文中的数据转换为该类型的对象。

例如,假设有以下请求正文:

代码语言:javascript
复制
{
  "name": "Tom",
  "age": 20
}

那么可以定义一个如下的方法:

代码语言:javascript
复制
@PostMapping("/users")
public void addUser(@RequestBody User user) {
    // 处理
}

需要注意的是,为了能够正确地将请求正文中的数据转换为对象,需要在 Spring Boot 应用程序中配置一个 JSON 解析器,通常情况下可以使用 Jackson 或者 Gson 等库来实现。在 Spring Boot 应用程序中,只需要在 pom.xml 文件中添加相应的依赖即可自动配置。

开发功能:新增视频JSON对象,数组提交
在这里插入图片描述
在这里插入图片描述
  • 章节类
代码语言:javascript
复制
public class Chapter {
    private int id;
    private int videoId;
    private String title;

    @Override
    public String toString() {
        return "Chapter{" +
                "id=" + id +
                ", videoId=" + videoId +
                ", title='" + title + '\'' +
                '}';
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public int getVideoId() {
        return videoId;
    }

    public void setVideoId(int videoId) {
        this.videoId = videoId;
    }

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }
}
  • 视频类
代码语言:javascript
复制
public class Video implements Serializable {
    //Video的属性
    private int id;
    private String title;
    private String summary;
    private int price;
    private String coverImg;
    private Date createTime;
    private List<Chapter> chapterList;}
  • 控制类
代码语言:javascript
复制
//视频控制器
@RestController  //表示是一个控制器,使用这个会返回json数据,使用@Controller就不会帮我们返回控制器
@RequestMapping("/api/v1/pub/video")  //pub表示任何人可访问
public class VideaController {
    //注入
    @Autowired
    private VideoService videoService;

    //@RequestMapping(method = RequestMethod.GET)
    @GetMapping("list")
    public JsonData list(){
        List<Video> list=videoService.listVideo();
        return JsonData.buildSuccess(list);
    }

    @PostMapping("sava_video_chapter")
    public JsonData savaVideoChapter(@RequestBody Video video){

        System.out.println(video.toString());

        return JsonData.buildSuccess("");

    }

}


传入的数据:

    {
    "id":1,
    "title":"测试",
    "chapterList":[
        {   "id":"1",
            "videoId":"1",
            "title":"测试1"
        }
    ]
}
结果
在这里插入图片描述
在这里插入图片描述
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-03-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • SpringBoot请求实战
    • @RequestBody注解说明
      • 开发功能:新增视频JSON对象,数组提交
        • 结果
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档