SpringBoot怎么接收前端传来的json数据 您所在的位置:网站首页 postmapping原理 SpringBoot怎么接收前端传来的json数据

SpringBoot怎么接收前端传来的json数据

#SpringBoot怎么接收前端传来的json数据| 来源: 网络整理| 查看: 265

SpringBoot怎么接收前端传来的json数据 发布时间:2023-04-04 17:00:35 来源:亿速云 阅读:57 作者:iii 栏目:开发技术

本文小编为大家详细介绍“SpringBoot怎么接收前端传来的json数据”,内容详细,步骤清晰,细节处理妥当,希望这篇“SpringBoot怎么接收前端传来的json数据”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

SpringBoot接收前端传来的json数据

当前端传来json数据时,后端有两种方式可以接收:使用POJO和Map进行接收。

前端json数据:

{     id:121,      //数字     name:"lhj",     //字符串     scoreList:[     //对象                 {Java:95},                   {Python:98},                 {C++:94}                 ]         }使用POJO

若前端传递过来的数据刚好和我们的bean实体对象属性一致,则可以使用对象的形式接收。

后端实体类

@Component public class Score {     private int id;     private String name;     private List scoreList; }

后端Controller

@PostMapping("/student/score") public void getScore(@RequestBody Score score){     System.out.println(score);     }

前端数据和bean对象属性要一致

必须使用@RequestBody注解

使用Map接收

若前端传递过来的数据很复杂,没有对应的POJO与其对应,就可以用Map进行接收。

后台Controller

@PostMapping("/lhj/getdata") public void getData(@RequestBody Mapmap){     System.out.println(map);     }

对于Map,值的类型建议设置为Object,这样可以使Map能接收各种类型的数据,如字符串、数字、数组和对象等。

使用POJO和Map接收的比较

1、map的优点:

灵活性更强,易扩展,耦合度低;

代码简洁;

MyBatis查询的返回结果本身就是Map,效率可能会比返回JavaBean高。

2、map的缺点

JavaBean的数据在编译期就会对其进行校验,如果出错会直接提示。而Map的数据则需要到sql层才会进行处理检验。因此如果map的参数名称写错、参数值如果多传乱传只能到sql层才会被发现。

Map中所拥有的参数个数、类型、每个参数代表的含义对外不透明,团队开发及后期维护难度大

3、JavaBean的优点:

面向对象的良好诠释;

数据结构清晰,便于团队开发和后期维护;

代码足够健壮,可以排除掉编译期错误;

4、javabean的缺点:

代码量增多,大量时间去封装用到的表对象。

可能会影响开发效率。

PO和VO相结合

创建PO与数据库字段对应,用于对数据库的操作;

创建VO用于封装和前端打交道的数据,使用VO可以避免使用Map

SpringBoot接收json入参

最近做一个项目,给前端vue工程提供数据接口,部门经理希望通过json格式来传递参数。

接口项目是用的springboot,所以直接使用controller里配置的path就能访问到对应的方法

示例如下:

vue调用的方法如下,可见我们传了2个参数,一个configid,一个configname

//通过json传参 var url=“http://localhost/jsonparam”; var sendData={“configid”:55, “configname”:“000” }; this.$http.jsonp(url,{params : sendData}).then(function (res) { this.msg=res.data.configName; });

服务接口端代码:

controller方法中,入参前加@RequestParam 注解 ,value和前端传的json字段对应上

@RequestMapping(value="/jsonparam", method = RequestMethod.GET,produces="application/json;charset=UTF-8") public   ConfigVo getjsonpparam(@RequestParam(value="configid",required=true)  Long id,@RequestParam(value="configname",required=true) String name) {     ConfigVo vo = service.getConfigById(id);        return vo; }

这样使用,就能接收前台传来的json参数。

读到这里,这篇“SpringBoot怎么接收前端传来的json数据”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注亿速云行业资讯频道。

推荐阅读: 如何从源码分析Dubbo与SpringBoot整合以及进行Dubbo启动 docker-compose中怎么部署springboot+mysql项目

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:[email protected]进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

springboot json 上一篇新闻:SpringCloud+nacos怎么部署在多ip环境下统一nacos服务注册ip 下一篇新闻:Idea springboot springCloud热加载热调试的常用方法有哪些 猜你喜欢 基于python的socket实现单机五子棋到双人对战 pyqt弹出新对话框,以及关闭对话框获取数据的实例 使用python怎么实现五子棋游戏 Python中的时间转换函数是什么 python实现简单五子棋游戏 Python基础学习之函数方法实例详解 pyqt5 实现在别的窗口弹出进度条 Python弹出输入框并获取输入值的实例 python使用tkinter库实现五子棋游戏 Python基础学习之基本数据结构详解【数字、字符串、列表、元组、集合、字典】


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有