我已閱讀了StackOverflow上關於此問題的大多數帖子,並嘗試了許多修復程序,最終沒有任何最終解決我的問題。春天拋出HttpMediaTypeNotSupportedException: Content type 'application/json' not supported
AJAX JSON發佈到Spring控制器返回HTTP 415
我有一個像這樣定義一個控制器:
@RequestMapping(method = RequestMethod.POST, value = "/update")
public @ResponseBody JSONDomainResponse update(@RequestBody Model inModel)
在機型看起來就像這樣:
public class Model implements Serializable {
private static final long serialVersionUID = 2738522159847487651L;
private String id;
private BigDecimal offset;
@JsonCreator
public Model(@JsonProperty("id") String id, @JsonProperty("offset") BigDecimal offset) {
this.id = id;
this.offset = offset;
}
public String getID() {
return id;
}
public BigDecimal getOffset() {
return offset;
}
public void setID(String id) {
this.id = id;
}
public void setOffset(BigDecimal offset) {
this.offset = offset;
}
}
AJAX調用我試圖用看起來像這樣:
$.ajax({
type : 'POST',
url : '/update',
contentType : "application/json",
data : JSON.stringify({"id":"test", "offset":300})
});
我有<mvc:annotation-driven/>
configur在我的context.xml文件中,我已經驗證MappingJacksonHttpMessageConverter
的canRead()方法對我的模型和JSON媒體類型返回true。
我也有我的classpath中指定的傑克遜核心和映射器罐。
我已經注意到,從控制器簽名中刪除模型參數使其實際上到達控制器與我的職位,這導致我相信我的模型有一些問題。因爲記錄的信息很少,所以我無法確定問題會出在哪裏。
在此先感謝。