[英]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.