springboot接口參數(shù)為List的問題
簡單接口參數(shù)
springboot接口訪問,如果是走http請求,那么參數(shù)會默認轉(zhuǎn)換成鍵值對格式,或者是json字符串形式的。

今天就遇到一個場景,我需要一個list結(jié)構(gòu)的參數(shù),list里面又是對象,那我們該怎么傳參呢?
我們不能再瀏覽器上直接拼接參數(shù)發(fā)請求了,例如:

這樣的格式是不被允許的,請求會報錯。
那么我們轉(zhuǎn)換思路,既然是json格式的參數(shù),那我們就傳json格式
設(shè)置headers
Content-type 的值為application/json

組織傳值參數(shù)list數(shù)據(jù)
在body中,傳值參數(shù),list 使用[]括起來

代碼實現(xiàn)請求
public void queryLiveCourseInfoTest(){
JSONArray jsonArray = new JSONArray();
JSONObject json1 = new JSONObject();
json1.put("dn","123");
json1.put("bossCode","34455");
jsonArray.add(json1);
JSONObject json2 = new JSONObject();
json2.put("dn","234");
json2.put("bossCode","66666");
jsonArray.add(json2);
String arr = jsonArray.toJSONString();
System.out.println("請求參數(shù):"+arr);
String url = nativUrl+"";
try {
HttpHeaders headers = new HttpHeaders();
MediaType type = MediaType.parseMediaType("application/json; charset=UTF-8");
headers.setContentType(type);
HttpEntity<ElecMeterDataApi> entity = new HttpEntity<ElecMeterDataApi>(arr,headers);
String res = restTemplate.postForObject(url, entity, String.class);
log.info("結(jié)果:"+res);
} catch (RestClientException e) {
log.error("請求異常" + e.getMessage());
}
}
controller層設(shè)置兩個注解@ResponseBody 和@RequestBody
@ResponseBody 沒有該注解的時候,會發(fā)生postman 請求找不到error 404;
@RequestBody 沒有該注解的時候,會發(fā)生參數(shù)值傳輸不過去;

這樣我們就可以實現(xiàn)通過接口直接傳遞list對象數(shù)據(jù)。
其中,list中的對象,我們在傳參數(shù)時只要組織的json格式的數(shù)據(jù)中,包含該對象的屬性以及對應(yīng)值,接口參數(shù)的對象就可以接收到該屬性值。
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
詳解Java中的println輸入和toString方法的重寫問題
這篇文章主要介紹了Java中的println輸入和toString方法的重寫,一個對象數(shù)組在調(diào)用Arrays.toString打印時,相當于遍歷數(shù)組,然后打印里邊每個對象,這再打印對象就調(diào)用對象自己的toString了,需要的朋友可以參考下2022-04-04
Spring?AI?+?混元帶你實現(xiàn)企業(yè)級穩(wěn)定可部署的AI業(yè)務(wù)智能體
我們深入探討了Spring?AI在智能體構(gòu)建中的實際應(yīng)用,特別是在企業(yè)環(huán)境中的價值與效能,通過逐步實現(xiàn)一個本地部署的智能體解決方案,我們不僅展示了Spring?AI的靈活性與易用性,還強調(diào)了它在推動AI技術(shù)與業(yè)務(wù)深度融合方面的潛力,感興趣的朋友一起看看吧2024-11-11
SSH框架網(wǎng)上商城項目第5戰(zhàn)之商品類別級聯(lián)查詢和分頁功能
SSH框架網(wǎng)上商城項目第5戰(zhàn)之商品類別級聯(lián)查詢和分頁功能,寫一下CategoryServiceImpl實現(xiàn)類,完成數(shù)據(jù)庫的級聯(lián)查詢,感興趣的小伙伴們可以參考一下2016-05-05
Java代碼規(guī)范與質(zhì)量檢測插件SonarLint的使用
本文主要介紹了Java代碼規(guī)范與質(zhì)量檢測插件SonarLint的使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2022-08-08
javax.xml.bind.JAXBContext操作XML的實現(xiàn)示例
JAXB是Java標準API,用于Java對象與XML的相互轉(zhuǎn)換,通過注解定義映射規(guī)則,本文就來詳細的介紹一下javax.xml.bind.JAXBContext操作XML的實現(xiàn),感興趣的可以了解一下2025-12-12
spring boot基于DRUID實現(xiàn)數(shù)據(jù)源監(jiān)控過程解析
這篇文章主要介紹了spring boot基于DRUID實現(xiàn)數(shù)據(jù)源監(jiān)控過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2019-12-12

