繁体   English   中英

ajax POST 415(不支持的媒体类型)

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

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM