SpringBoot如何接收Post请求Body里面的参数
如何接收Post请求Body里的参数
ApiPost测试数据
{ "list": [ "{'time':'xxxxx','distinct_id':'xxxx','appId':'xxxx'}", "{'time':'xxxxx','distinct_id':'xxxx','appId':'xxxx'}", "{'time':'xxxxx','distinct_id':'xxxx','appId':'xxxx'}", "{'time':'xxxxx','distinct_id':'xxxx','appId':'xxxx'}" ], "type": 1 }
Java接收数据
需要提前创建好对应的Bean
由于传递过来的数据是String类型,因此需要转换一步
import cn.hutool.json.JSONObject; @PostMapping("/data/callback") public Object testResponse( @RequestBody JSONObject jsonObject ) { JSONArray jsonList = jsonObject.getJSONArray("list"); ArrayList<DataEntity> list = new ArrayList<>(); for (Object jsObject : jsonList){ DataEntity dataEntity = JSONObject.parseObject(jsObject.toString(), DataEntity.class); list.add(dataEntity); } Integer type = (Integer) jsonObject.get("type"); log.info(String.format("本次共接收%d条数据,type=%d",list.size(),type)); for (DataEntity dataEntity : list) { log.info(dataEntity.toString()); } }
SpringBoot获取参数常用方式
参数在body体中
在方法形参列表中添加@RequestBody注解
@RequestBody 作用是将请求体中的Json字符串自动接收并且封装为实体。如下:
@PostMapping("/queryCityEntityById") public Object queryCityEntityById(@RequestBody CityEntity cityEntity) { return ResultUtil.returnSuccess(cityService.queryCityById(cityEntity.getId())); }
PathVaribale获取url路径的数据
如下:
@RestController public class HelloController { @RequestMapping(value="/hello/{id}/{name}",method= RequestMethod.GET) public String sayHello(@PathVariable("id") Integer id,@PathVariable("name") String name){ return "id:"+id+" name:"+name; } }
RequestParam获取请求参数的值
获取url参数值,默认方式,需要方法参数名称和url参数保持一致
localhost:8080/hello?id=1000,如下:
@RestController public class HelloController { @RequestMapping(value="/hello",method= RequestMethod.GET) public String sayHello(@RequestParam Integer id){ return "id:"+id; } }
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
浅析IDEA如何正确配置Gradle? GRADLE_USER_HOME 和 Gradle user home的区别
这篇文章主要介绍了IDEA如何正确配置Gradle? GRADLE_USER_HOME 和 Gradle user home的区别,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2020-08-08Spring Security OAuth2 实现登录互踢的示例代码
这篇文章主要介绍了Spring Security OAuth2实现登录互踢的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2020-04-04Java编程中利用InetAddress类确定特殊IP地址的方法
这篇文章主要介绍了Java编程中利用InetAddress类确定特殊IP地址的方法,InetAddress类是Java网络编程中一个相当实用的类,需要的朋友可以参考下2015-11-11Java8时间api之LocalDate/LocalDateTime的用法详解
在项目中,时间的使用必不可少,而java8之前的时间api Date和Calander等在使用上存在着很多问题,于是,jdk1.8引进了新的时间api-LocalDateTime,本文就来讲讲它的具体使用吧2023-05-05浅析JavaMail发送邮件后再通过JavaMail接收格式问题
这篇文章主要介绍了JavaMail发送邮件后再通过JavaMail接收格式问题 ,本文通过代码实例给大家详细解说,需要的朋友可以参考下2019-06-06
最新评论