欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

SpringBoot如何接收Post請求Body里面的參數(shù)

 更新時間:2022年03月15日 11:11:42   作者:賽爾號-  
這篇文章主要介紹了SpringBoot如何接收Post請求Body里面的參數(shù),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

如何接收Post請求Body里的參數(shù)

ApiPost測試數(shù)據(jù)

{
? ? "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接收數(shù)據(jù)

需要提前創(chuàng)建好對應的Bean

由于傳遞過來的數(shù)據(jù)是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條數(shù)據(jù),type=%d",list.size(),type));
? ? ? ? for (DataEntity dataEntity : list) {
? ? ? ? ? ? log.info(dataEntity.toString());
? ? ? ? }
? ? } ? ?

SpringBoot獲取參數(shù)常用方式

參數(shù)在body體中

在方法形參列表中添加@RequestBody注解

@RequestBody 作用是將請求體中的Json字符串自動接收并且封裝為實體。如下:

@PostMapping("/queryCityEntityById")
public Object queryCityEntityById(@RequestBody CityEntity cityEntity)
{
? ? return ResultUtil.returnSuccess(cityService.queryCityById(cityEntity.getId()));
}

PathVaribale獲取url路徑的數(shù)據(jù)

如下:

@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獲取請求參數(shù)的值

獲取url參數(shù)值,默認方式,需要方法參數(shù)名稱和url參數(shù)保持一致 

localhost:8080/hello?id=1000,如下:

@RestController
public class HelloController {
? ? @RequestMapping(value="/hello",method= RequestMethod.GET)
? ? public String sayHello(@RequestParam Integer id){
? ? ? ? return "id:"+id;
? ? }
}
?

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • JPA原生SQL實現(xiàn)增刪改查的示例詳解

    JPA原生SQL實現(xiàn)增刪改查的示例詳解

    JPA除了對JPQL提供支持外,還對原生SQL語句也提供了支持。本文將利用生SQL實現(xiàn)增刪改查功能,文中的示例代碼講解詳細,需要的可以參考一下
    2022-09-09
  • Java從JDK源碼角度對Object進行實例分析

    Java從JDK源碼角度對Object進行實例分析

    這篇文章主要介紹了Java從JDK源碼角度對Object進行實例分析,具有一定借鑒價值,需要的朋友可以參考下。
    2017-12-12
  • 最新評論