日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

接口400错误解析

發布時間:2023/12/15 综合教程 31 生活家
生活随笔 收集整理的這篇文章主要介紹了 接口400错误解析 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

今天我遇上一個讓我很痛心的錯誤400。對程序員來說,這可能是一個最簡單的錯誤碼。因為這個相應并沒有進攔截器,更沒有進到Controller層。可我在解決這個問題時,質詢了很多朋友不解,百度各種方案無效。苦苦耗費我大半天時間。

首先,遇到400問題,最大幾率是出現了數據類型不一致的問題,簡單來說是Controller層不用正確讀取你發送請求附帶的參數。該例是我前端傳送JSON格式,使用postmen接收。

一.發現400錯誤的,第一步確認postmen中發送的數據類型是json。比如Headers中Content-Type類型是application/json;或是前端代碼Ajax中添加:contentType: ‘application/json;charset=UTF-8’(如圖);

二.第一步確認postmen中發送的數據格式是否正確。postmen中經常有人有漏寫一對“{}“或是缺少逗號,引號,冒號的小問,好在postmen會自動報錯提示; 而在前端中你必須重新包裝傳入參數為JSON型。使用JSON.stringify(params)將params參數重新包裝;

三.正常解決以上兩個問題,多數人錯誤也該解決了。如果還沒有,我們就要在Controller接收處查找問題。

順帶一說:前端用json傳入,后端如果用對象接收,及時傳入變量名與該對象的屬性名對應上,也不會自動封裝進去,當然也不會直接報錯。如果想json型自動轉換成對象,需要在對象前面添加@RequestBody注解。它會將JSON進行轉換成為你指定的對象。

但是我個人更喜歡用JSONObeject或Strng去接受,在用手動將它轉化為我需要的對象,因為我傳入的對象可能是嵌套好的,其中有一個對象,還有其他對象的List。在頭部自動轉化就會出現一些問題。

言歸正傳,第三個可能出現400的問題就在這。使用RequestBody轉化成String時,意外報錯,類型不匹配。這一點也是我萬萬沒想到的。因為之前一個項目基本都是用String在接收前端的JSONO對象。這次卻卡在400處。解決的方案很簡單,使用JSONObject原原本本的接收JSON對象!直接使用!可正常情況String接收也是可以的,這點讓我很費解,花了不少時間也沒能找到原因。可能是注解的配置問題,又或者是因為使用SSM和springBoot框架的差異。

在此也希望得到大神網友的解惑!



總結

以上是生活随笔為你收集整理的接口400错误解析的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。