[英]ajax POST 415 (Unsupported Media Type)
我有下一個ajax請求
$.ajax({
contentType: 'application/json',
mimeType: 'application/json',
type: frm.attr('method'),
url: frm.attr('action'),
dataType: 'json',
data: JSON.stringify(data),
success: function (response) {
alert("success" + response);
},
error: function (jqXHR) {
var errorMessage = $(jqXHR.responseText).filter('p:eq(1)').find('u').text();
alert("error " + errorMessage);
}
});
我在哪里傳輸信件實體
@Entity
@Table(name = "LETTERS")
public class Letter {
@Id
@Column(name = "ID")
@GeneratedValue
private long id;
@Column(name = "MESSAGE")
private String message;
@Column(name = "EMAIL")
private String email;
@Column(name = "CREATING_DATE")
private Date creatingDate;
@Column(name = "DELIVERY_DATE")
private Date deliveringDate;
public Letter() {
}
//... getters and setters
}
在我的控制器中,我無法獲得該實體,導致媒體類型不受支持
@RequestMapping(value = "/main", method = RequestMethod.POST)
@ResponseBody
public void addLetterToDB(@RequestBody Letter letter) {
System.out.println(letter);
}
但是,如果我將方法簽名的Letter類型更改為String類型,則可以使用,但是我想使用實體)請幫助。
使用@Produces
批注並放在application / json中。 您還需要一種將結果(字母)轉換為JSON的機制。 使用傑克遜或格森。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.