解決SpringMVC同時接收Json和Restful時Request里有Map的問題
現(xiàn)在正在做的項目要將舊系統(tǒng)實現(xiàn)微服務,用 SpringBoot 來做,有時候同一個 Request 就要同時接收來自 ajax 的 Json 數(shù)據(jù)和 Restful 的數(shù)據(jù),如果里面還包含 Map 怎么辦呢? 最近就只想出了這種辦法,僅供參考。如有錯誤請指正,謝謝。
代碼
Json 數(shù)據(jù)
{
"fieldMap":
{
"middleName": "1",
"mailingAddress": "2",
"mobilenumber": "3"
}
}
Restful URL
//注意要讓 @ModelAttribute RequestDTO 自動封裝成 Map 的話要像下面的format。 http://localhost:8080/hello?fieldMap[middleName]=1&fieldMap[mailingAddress]=2&fieldMap[mobilenumber]=3
Request DTO
public class RequestDTO {
private HashMap<String, String> fieldMap;
public HashMap<String, String> getFieldMap() {
return fieldMap;
}
public void setFieldMap(HashMap<String, String> fieldMap) {
this.fieldMap = fieldMap;
}
}
Spring Mvc 代碼
//接收 Json 數(shù)據(jù), consumes = "application/json" 來區(qū)分同一個請求是用json還是其他
@RequestMapping(method = { RequestMethod.POST },
value = { "/hello" },
consumes = "application/json")
public final void requestByJson(
final HttpServletRequest httpRequest,
final HttpServletResponse httpResponse,
@RequestBody final RequestDTO requestDTO) {
...
}
//接收 Restful 數(shù)據(jù), @ModelAttribute 將param配對成 RequestDTO
@RequestMapping(method = { RequestMethod.POST },
value = { "/hello" })
public final void restfulRequest(
final HttpServletRequest httpRequest,
final HttpServletResponse httpResponse,
@ModelAttribute final RequestDTO requestDTO ){
...
}
以上這篇解決SpringMVC同時接收Json和Restful時Request里有Map的問題就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Java中的synchronized和ReentrantLock的區(qū)別詳細解讀
這篇文章主要介紹了Java中的synchronized和ReentrantLock的區(qū)別詳細解讀,synchronized是Java內(nèi)建的同步機制,所以也有人稱其為 IntrinsicLocking,它提供了互斥的語義和可見性,當一個線程已經(jīng)獲取當前鎖時,其他試圖獲取的線程只能等待或者阻塞在那里,需要的朋友可以參考下2024-01-01
IDEA中SpringBoot項目的yml多環(huán)境配置方式
這篇文章主要介紹了IDEA中SpringBoot項目的yml多環(huán)境配置,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧2023-10-10
IDEA無法創(chuàng)建JDK1.8版本的Springboot項目問題解決(2種方法)
本文主要介紹了IDEA無法創(chuàng)建JDK1.8版本的Springboot項目問題解決,包含兩種解決方案,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2024-07-07
Java Object類詳解_動力節(jié)點Java學院整理
Java作為一個龐大的知識體系,涉及到的知識點繁多,本文將從Java中最基本的類java.lang.Object開始談起,對java object類相關(guān)知識感興趣的朋友一起學習吧2017-04-04
Android Home鍵監(jiān)聽的實現(xiàn)代碼
這篇文章主要介紹了Android Home 鍵監(jiān)聽的實現(xiàn)代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-12-12
Java中Controller引起的Ambiguous?mapping問題及解決
這篇文章主要介紹了Java中Controller引起的Ambiguous?mapping問題及解決,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-10-10
mybatis-plus通用枚舉@JsonValue接收參數(shù)報錯No enum constant
最近在使用mybatis-plus時用到了通用枚舉,遇到了問題,本文主要介紹了mybatis-plus通用枚舉@JsonValue接收參數(shù)報錯No enum constant,具有一定的參考價值,感興趣的可以了解一下2023-09-09
Java框架解說之BIO NIO AIO不同IO模型演進之路
網(wǎng)上很多IO資料,對新手來說,越看越暈。根據(jù)自己的理解,總結(jié)對比了一下BIO、NIO、AIO,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-10-10

