SpringBoot如何接收Post请求Body里面的参数

网友投稿 684 2022-08-20


SpringBoot如何接收Post请求Body里面的参数

目录如何接收Post请求Body里的参数ApiPost测试数据java接收数据SpringBoot获取参数常用方式参数在body体中PathVaribale获取url路径的数据RequestParam获取请求参数的值

如何接收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 list = new ArrayList<>();

for (Object jsObject : jsonList){

DataEntity dataEntity = JSONObject.parseObject(jsObject.toString(), DataEntity.class);

list.add(dataEntity)http://;

}

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;

}

}


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:java并发编程包JUC线程同步CyclicBarrier语法示例
下一篇:SpringBoot缓存Ehcache的使用详解
相关文章

 发表评论

暂时没有评论,来抢沙发吧~