国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

SpringBoot之Post請求@RequestBody為空拋出Required request body is missing異常的解決方案

這篇具有很好參考價值的文章主要介紹了SpringBoot之Post請求@RequestBody為空拋出Required request body is missing異常的解決方案。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

org.springframework.http.converter.HttpMessageNotReadableException: Required request body is missing

出現(xiàn)異常的原因:body為空,但是@RequestBody注解默認請求體不能為空。

解決辦法

一:查看是不是@GetMapping,Spring Get請求不能使用@RequestBody

這個純屬粗心大意的問題~

二:要求請求用Post卻用了Get請求

三:@RequestBody(required = false)

如果是剛剛開發(fā)的項目,那么建議這樣寫。如果已經(jīng)存在的項目,肯定不能這樣寫,后面會介紹另外一種相對簡單的寫法,但是如果Spring版本升級有可能會出現(xiàn)問題。

    @PostMapping("postUrl")
    public void postUrl(@RequestBody(required = false) Object object){
        if (object == null){
            throw new RuntimeException("post請求體body不能為空!");
        }
    }

四:全局異常捕獲

如果Spring 版本升級有可能會改變該信息,因此升級版本后如果字符串信息改變也要做出相應的改變,不過這種概率比較低!可以放心使用。文章來源地址http://www.zghlxwxcb.cn/news/detail-647034.html

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.RestControllerAdvice;

/**
 * 全局返回和異常處理類
 */
@RestControllerAdvice
public class GlobalExceptionHandler {
    private static final Logger log = LoggerFactory.getLogger(GlobalExceptionHandler.class);

    /**
     * 服務器異常
     */
    @ExceptionHandler(value =Exception.class)
    public Object exception(Exception e){
        String msg = e.getMessage();
        if (StringUtils.hasText(msg)){
        	//捕獲這個異常信息,如果這個異常信息包含這個字符串就拋出自定義異常。
            if (msg.contains("Required request body is missing:")){
                throw new RuntimeException("post請求體body不能為空!");
            }
        }
        log.error("Exception異常:",e);
        return msg;
    }
}

到了這里,關于SpringBoot之Post請求@RequestBody為空拋出Required request body is missing異常的解決方案的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • vue使用axios發(fā)送post請求攜帶json body參數(shù),后端使用@RequestBody進行接收

    vue使用axios發(fā)送post請求攜帶json body參數(shù),后端使用@RequestBody進行接收

    最近在做自己項目中,做一個非常簡單的新增用戶場景,但是使用原生axios發(fā)送post請求的時候,還是踩了不少坑的。 唉,說多了都是淚,小小一個新增業(yè)務,在自己前后端一起開發(fā)的時候,硬是搞了好久。 下面就把問題總結(jié)分享下,防止后人再踩坑。 首先先看下我的接口定

    2024年02月02日
    瀏覽(24)
  • post請求出現(xiàn)required request body is missing錯誤的問題所在?

    post請求出現(xiàn)required request body is missing錯誤的問題所在?

    后端接口查詢獲取數(shù)據(jù)庫中的數(shù)據(jù),前端接受數(shù)據(jù)進行列表展示。 后端接口swagger測試無誤,前端報錯500:required request body is missing 給出以下兩點原因及其方案: 1.后端原因:controller中該接口函數(shù)的參數(shù)應為請求體@RequestBody,而不是@RequestParam 改為: 2.前端原因:POST與GET請求

    2024年02月04日
    瀏覽(20)
  • Postman發(fā)送post請求時報400錯誤,Required request body is missing

    Postman發(fā)送post請求時報400錯誤,Required request body is missing

    項目形參位置存在@RequestBody注解,用Postman發(fā)送post請求時報400錯誤,Required request body is missing。 錯誤圖示: 解決方法: 方法一: 項目中形參位置不使用@RequestBody,在Postman進行Post請求時,在請求路徑后直接拼接參數(shù)。 方法二: 項目中形參位置使用@RequestBody,在Postman進行Po

    2024年02月11日
    瀏覽(26)
  • @RequestBody注解依賴問題,導致傳入的body數(shù)據(jù)為空(已解決)

    當項目引入swagger以后要注意 @RequestBody 這個注解 有兩個 第一:? io.swagger.v3.oas.annotations.parameters.RequestBody 這個是swagger的依賴,當引入這個注解后在postman測試傳入json數(shù)據(jù)后會接受不到參數(shù),讓傳入的參數(shù)都為空,但是在swagger里面可以映射到參數(shù) 第二: org.springframework.web.bi

    2024年02月06日
    瀏覽(24)
  • SpringBoot - Post請求-接收參數(shù)

    SpringBoot - Post請求-接收參數(shù)

    1、下面樣例?Controller?接收?form-data?格式的?POST?數(shù)據(jù): 2、下面是一個簡單的測試樣例: 1 、如果沒有傳遞參數(shù) ? Controller ? 將會報錯,這個同樣有如下兩種解決辦法: 使用 ?required = false? 標注參數(shù)是非必須的。 使用 ? defaultValue ? 給參數(shù)指定個默認值。 2、下面是一個簡

    2024年02月08日
    瀏覽(24)
  • springboot——Request method ‘POST‘ not supported——不支持POST請求(完美解決)

    springboot——Request method ‘POST‘ not supported——不支持POST請求(完美解決)

    如下圖所示,當我使用POST請求訪問時,會出現(xiàn)下面的錯誤“不支持POST請求” ,那么原因是什么? 很簡單!??! 請求的時候或后端接收數(shù)據(jù)的時候, 把請求參數(shù)的方式或接收請求體的方式給搞混了!?。?下面具體講解一下POST的三種請求方式 目錄 POST請求方式一: POST請求方

    2024年02月12日
    瀏覽(16)
  • Springboot 前后端分離項目中使用攔截器獲取不到token或者token為空的問題(OPTION請求被攔截問題)

    轉(zhuǎn)載Springboot前后端分離項目中使用攔截器獲取不到token或者token為空的問題(OPTION請求被攔截問題) 目是前后端分離的,并且springboot也配置了跨域功能。 但是配置了JWT功能、以及驗證器驗證之后卻出現(xiàn)了獲取不到jwt的問題。獲取參數(shù)為 null。并且全局異常攔截失效,前端響應

    2024年02月14日
    瀏覽(37)
  • Springboot GET和POST請求的常用參數(shù)獲取方式

    可以在控制器方法的參數(shù)上使用@RequestParam注解來獲取請求中的參數(shù)值。例如: 可以為@RequestParam注解的參數(shù)提供默認值,以處理參數(shù)缺失的情況。例如: 可以使用@RequestParam MapString, String來獲取所有的請求參數(shù)鍵值對。例如: 如果參數(shù)是作為路徑的一部分傳遞的,可以使用

    2024年02月10日
    瀏覽(232)
  • 用Springboot創(chuàng)建post請求的接口并用postman測試

    用Springboot創(chuàng)建post請求的接口并用postman測試

    通過https://start.spring.io創(chuàng)建項目: ?選擇以上選項和依賴,最后點擊GENERATE生成一個壓縮包。 ?打開壓縮包 ,只要保留src、pom.xml文件,然后用IDEA打開。 2.等文件夾中自動生成各類文件后,創(chuàng)建controller。 ?啟動類文件如下: ?在application.properties文件中可以更改端口號 ?3.最后

    2024年02月16日
    瀏覽(32)
  • springboot的controller如何拿到post請求中的json數(shù)據(jù)

    在SpringBoot的Controller中,可以使用注解@RequestBody來獲取POST請求中的JSON數(shù)據(jù)。我們可以將這個注解應用到一個Controller方法的參數(shù)上,Spring將會負責讀取請求正文中的數(shù)據(jù),將其反序列化為一個Java對象,并將其作為Controller方法的參數(shù)傳遞。以 Java 代碼為例,示例代碼如下: 在

    2024年02月15日
    瀏覽(24)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包