亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

SpringBoot后端接收數(shù)組對(duì)象的實(shí)現(xiàn)

 更新時(shí)間:2022年11月21日 11:08:40   作者:右耳朵貓  
這篇文章主要介紹了SpringBoot后端接收數(shù)組對(duì)象的實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

SpringBoot后端接收數(shù)組對(duì)象

前端代碼

var Params = {
? type: "typeA",
? title: "titleA",
? authors: [{name:"upxuan", age:"18"}, {name:"susen", age:"18"}]
}
console.log(Params)
this.$ajax({
? url: '/api/manualAdd',
? method: 'post',
? contentType: "application/json; charset=utf-8",
? dataType: "json",
? data: Params
}).then( res => {
? console.log(res)
})

后端代碼

@RequestMapping("/manualAdd")
@ResponseBody
public String AddManualJpaper (@RequestBody RequestManualAddData data) {
?? ?System.out.println("User:" + data.getType() + "," + data.getTitle());
?? ?System.out.println("Authors:" + data.getAuthors().get(0).getName() + "," + data.getAuthors().get(0).getAge());
? ? return "Get it";
}

接收的數(shù)據(jù)對(duì)象類(lèi)

private String type;
private String title;
private List<AuthorsModel> authors;
?
public String getType() {
?? ?return type;
}
?
public void setType(String type) {
?? ?this.type = type;
}
?
public String getTitle() {
?? ?return title;
}
?
public void setTitle(String title) {
?? ?this.title = title;
}
public List<AuthorsModel> getAuthors() {
?? ?return authors;
}
?
public void setAuthors(List<AuthorsModel> authors) {
?? ?this.authors = authors;
}

model

private String name;
private int age;
public String getName() {
?? ?return name;
}
?
public void setName(String name) {
?? ?this.name = name;
}
public int getAge() {
?? ?return age;
}
?
public void setAge(int age) {
?? ?this.age = age;
}

后端List接收數(shù)組報(bào)400或收不到參數(shù)值

遇到一個(gè)關(guān)于前端傳數(shù)組到后端時(shí)因?yàn)闊o(wú)法接收參數(shù)報(bào)400或者接收不到參數(shù)值的問(wèn)題:

在springboot項(xiàng)目中經(jīng)常會(huì)用 @RequestBody 或者 @RequestParam在接口中接收參數(shù),我們都知道:

  • @RequestBody 用于接收json格式的對(duì)象數(shù)據(jù),像自定義User實(shí)體類(lèi)對(duì)象,Map,List等
  • @RequestParam 用于接收單個(gè)的屬性

像上面的用對(duì)象或者單個(gè)屬性去接收前端傳來(lái)的參數(shù),還是能很愉快的接收的,但是有一種類(lèi)型的就比較容易讓人極度不適了,那就是數(shù)組和集合類(lèi)型的參數(shù)

 這里我說(shuō)一個(gè)集合類(lèi)型的參數(shù),數(shù)組大致一樣:

 如上圖接收一個(gè)List集合,不管是用 @RequestBody還是用 @RequestParam接收都沒(méi)有成功,不是報(bào)400就是參數(shù)值為null,然后就去百度瘋狂的逛了幾條芥,

還是沒(méi)有找到一個(gè)有效的辦法,最后索性自己研究,終于把問(wèn)題給解決了。

說(shuō)下我的解決方法

首相從postman工具我們可以看到j(luò)son有兩種格式一種是 { }  還有一種是 [ ] ,{}傳對(duì)象,[]傳數(shù)組,這個(gè)和前端的傳參方式是對(duì)應(yīng)的,所以前端在傳參數(shù)到后端時(shí)

就不能用{}而要用[]否則就會(huì)報(bào)400的錯(cuò)誤,如下

var params = ["aaaa", "bbbb", "ccccc"];

屬性名可以自定義不影響后端接收,后端用 @RequestBody和 @RequestParam都能接收,至此問(wèn)題就解決了,希望對(duì)大家有所幫助,如果那個(gè)地方有不對(duì)的也歡迎大家留言糾正!

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

相關(guān)文章

  • Java中ScheduledExecutorService介紹和使用案例(推薦)

    Java中ScheduledExecutorService介紹和使用案例(推薦)

    ScheduledExecutorService是Java并發(fā)包中的接口,用于安排任務(wù)在給定延遲后運(yùn)行或定期執(zhí)行,它繼承自ExecutorService,具有線(xiàn)程池特性,可復(fù)用線(xiàn)程,提高效率,本文主要介紹java中的ScheduledExecutorService介紹和使用案例,感興趣的朋友一起看看吧
    2024-10-10
  • 一文教你如何判斷Java代碼中異步操作是否完成

    一文教你如何判斷Java代碼中異步操作是否完成

    在許多應(yīng)用程序中,我們經(jīng)常使用異步操作來(lái)提高性能和響應(yīng)度,這篇文章主要介紹了幾種常見(jiàn)的方法來(lái)判斷Java代碼中異步操作是否完成,希望對(duì)大家有所幫助
    2024-02-02
  • Java文件大小轉(zhuǎn)換的兩種方式小結(jié)

    Java文件大小轉(zhuǎn)換的兩種方式小結(jié)

    在程序開(kāi)發(fā)的過(guò)程中,文件的大小在視圖呈現(xiàn)和數(shù)據(jù)庫(kù)存儲(chǔ)的過(guò)程不一致怎么轉(zhuǎn)換呢,本文主要介紹了Java文件大小轉(zhuǎn)換的兩種方式小結(jié),具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-07-07
  • Java發(fā)送報(bào)文與接收?qǐng)?bào)文的實(shí)例代碼

    Java發(fā)送報(bào)文與接收?qǐng)?bào)文的實(shí)例代碼

    這篇文章主要介紹了Java發(fā)送報(bào)文與接收?qǐng)?bào)文,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-03-03
  • Java設(shè)計(jì)模式之享元模式示例詳解

    Java設(shè)計(jì)模式之享元模式示例詳解

    享元模式(FlyWeight?Pattern),也叫蠅量模式,運(yùn)用共享技術(shù),有效的支持大量細(xì)粒度的對(duì)象,享元模式就是池技術(shù)的重要實(shí)現(xiàn)方式。本文將通過(guò)示例詳細(xì)講解享元模式,感興趣的可以了解一下
    2022-03-03
  • 如何使用Idea中的 Deployment 實(shí)現(xiàn)打包自動(dòng)部署

    如何使用Idea中的 Deployment 實(shí)現(xiàn)打包自動(dòng)部署

    這篇文章主要介紹了使用Idea中的 Deployment 實(shí)現(xiàn)打包自動(dòng)部署,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-08-08
  • Spring Boot2配置服務(wù)器訪(fǎng)問(wèn)日志過(guò)程解析

    Spring Boot2配置服務(wù)器訪(fǎng)問(wèn)日志過(guò)程解析

    這篇文章主要介紹了Spring Boot2配置服務(wù)器訪(fǎng)問(wèn)日志過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-11-11
  • HashSet如何保證元素不重復(fù)(面試必問(wèn))

    HashSet如何保證元素不重復(fù)(面試必問(wèn))

    HashSet 不保證集合的迭代順序,但允許插入 null 值,也就是說(shuō)它可以將集合中的重復(fù)元素自動(dòng)過(guò)濾掉,保證存儲(chǔ)在 HashSet 中的元素都是唯一的,這篇文章主要介紹了HashSet如何保證元素不重復(fù)(面試必問(wèn)),需要的朋友可以參考下
    2021-12-12
  • Java使用redisson實(shí)現(xiàn)分布式鎖的示例詳解

    Java使用redisson實(shí)現(xiàn)分布式鎖的示例詳解

    這篇文章主要為大家詳細(xì)介紹了在Java項(xiàng)目中使用redisson實(shí)現(xiàn)分布式鎖,文中的示例代碼講解詳細(xì),具有一定的學(xué)習(xí)價(jià)值,需要的可以參考一下
    2023-07-07
  • 基于SpringBoot實(shí)現(xiàn)自動(dòng)裝配返回屬性的設(shè)計(jì)思路

    基于SpringBoot實(shí)現(xiàn)自動(dòng)裝配返回屬性的設(shè)計(jì)思路

    這篇文章主要介紹了基于SpringBoot實(shí)現(xiàn)自動(dòng)裝配返回屬性,這里涉及到的技術(shù)知識(shí)點(diǎn)有注解解析器,為什么用ResponseBodyAdvice這里解析?不在Filter,Interceptors,本文結(jié)合示例代碼給大家介紹的非常詳細(xì),需要的朋友參考下吧
    2022-03-03

最新評(píng)論