簡體   English   中英

有什么方法可以將spring mvc配置為采用內容類型?

[英]Is there any way to configure spring mvc to assume a content-type?

我有一種方法要發布一些json數據,看起來像這樣

@RequestMapping(value = "/m1", method = RequestMethod.POST)
public Object m1(@RequestBody Map<String, ?> body) {
    // do something
}

當我在發布時將content-type標頭設置為application/json時,此方法效果很好,但如果不這樣做,則會失敗並返回錯誤(因為它不知道如何無法將發布主體反序列化到地圖中)

在未指定標頭的情況下,我必須在spring中進行哪些配置才能使其默認使用application/json

將JSON轉換為對象的類稱為HttpMessageConverter 我假設您使用的是Spring附帶的默認Jackson。 您可以編寫一個自定義MessageConverter ,該方法將始終使用響應對象類型在其supports方法中返回true,然后只需在您的readInternal和writeInternal方法中調用Jackson的httpconverter即可。 但是,如果執行此操作,請小心,因為在請求處理程序中注冊了該請求后,所有@ResponseBody@RequestBody請求都將詢問它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM