Python 官方文档:入门教程 => 点击学习
目录SpringBoot接收前端传来的JSON数据使用POJO使用Map接收使用POJO和Map接收的比较PO和VO相结合springBoot接收json入参总结SpringBoot
当前端传来json数据时,后端有两种方式可以接收:使用POJO和Map进行接收。
前端json数据:
若前端传递过来的数据刚好和我们的bean实体对象属性一致,则可以使用对象的形式接收。
后端实体类
@Component
public class Score {
private int id;
private String name;
private List<ScoreList> scoreList;
}
后端Controller
@PostMapping("/student/score")
public void getScore(@RequestBody Score score){
System.out.println(score);
}
若前端传递过来的数据很复杂,没有对应的POJO与其对应,就可以用Map进行接收。
后台Controller
@PostMapping("/lhj/getdata")
public void getData(@RequestBody Map<String,Object>map){
System.out.println(map);
}
对于Map<String,Object>,值的类型建议设置为Object,这样可以使Map能接收各种类型的数据,如字符串、数字、数组和对象等。
1、map的优点:
2、map的缺点
3、JavaBean的优点:
4、javabean的缺点:
最近做一个项目,给前端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参数。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。
--结束END--
本文标题: SpringBoot如何接收前端传来的json数据
本文链接: https://www.lsjlt.com/news/203113.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-03-01
2024-03-01
2024-03-01
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0