簡體   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