歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Spring MVC @RequestBody接收JSON報HTTP 415/400問題的解決

Spring MVC @RequestBody接收JSON報HTTP 415/400問題的解決

日期:2017/3/1 9:45:30   编辑:Linux編程

手頭一個EXTJS+SpringMVC的項目,用FormPanel提交表單到後台進行更新/添加操作,想著趕一把時髦用@RequestBody吧,結果死活報http415錯誤,折騰了2天幾乎都要放棄了,但是實在眼饞這個強悍的功能,經過反復測試終於搞定。

網上種種解決方式,包括補充<mvc:annotation-driven />的配置、JavaBean要有無參構造函數、缺Jackson包等等,經檢查都不是原因所在(Spring 3.1之後<mvc:annotation-driven/>默認就會載入7種MessageConventer無需多余聲明),最後發現問題主要由2個方面造成:

1.Ajax請求時沒有設置Content-Type為Json,對於ext來說就是要把POST的內容放到jsonData屬性中,而不是params。

2.發送的表單內容對象不要轉成JSON字符串,直接發送JSON對象即可,否則就415錯誤!

Copyright © Linux教程網 All Rights Reserved