Unsupported Media Type 415問題解決辦法(Ajax)

來源:互聯網
上載者:User

標籤:system   ping   src   格式   stat   返回結果   沒有   java   class   

情境:Ajax傳一個jsuon對象到伺服器,讓參數自動封裝至與json對象匹配的java對象中。

 

錯誤類型

  • 錯誤類型1:

"status":415

"error":"Unsupported Media Type"

"exception":"org.springframework.web.HttpMediaTypeNotSupportedException"

原因:沒有使用JSON.stringify(rowData)方法將請求參數轉化為json字串

 

  • 錯誤類型2:

"status":400

"error":"Bad Request"

"exception":"org.springframework.http.converter.HttpMessageNotReadableException"

原因:未使用[contentType : ‘application/json‘,]配置指定請求參數格式。

 

正確代碼

  js代碼:

  rowData:是easyui datagrid表格的一行資料,和伺服器的一個java類Condition對象屬性完全符合。
JSON.stringify(rowData):將rowData對象解析成字元創。
            $.ajax({                type : ‘PUT‘,                url : url,                dataType : ‘json‘,
         contentType : ‘application/json‘,
data : JSON.stringify(rowData), beforeSend : function () { // .... }, success : function (data) { // 返回的RequestResult的json對象 console.log(data); }, });

  spring boot Controller 接收參數的 java代碼:

    @RequestMapping(value = "/test", method = RequestMethod.PUT)    public @ResponseBody RequestResult modifyCondition(@RequestBody Condition condition) {
        System.out.println("condition:" + condition.toString());
        // 建立假返回資料        RequestResult result = new RequestResult();        result.setCode(0);        result.setMessage("success");        return result;    }

    返回結果:

Unsupported Media Type 415問題解決辦法(Ajax)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.