最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

javax.validation在Spring?Boot請(qǐng)求中使用方式

 更新時(shí)間:2025年11月13日 08:59:59   作者:IT?挑山工  
在Spring?Boot中進(jìn)行請(qǐng)求參數(shù)驗(yàn)證,可以通過(guò)引入`spring-boot-starter-validation`依賴,并在實(shí)體類和控制器中使用`javax.validation`注解來(lái)實(shí)現(xiàn),配置包括引入依賴、在實(shí)體類中添加注解、在控制器方法中使用`@Valid`注解以及捕獲異常并返回自定義錯(cuò)誤消息

在Spring boot中對(duì)請(qǐng)求的參數(shù)做簡(jiǎn)單的驗(yàn)證

可以使用javax.validation注解。

需要做以下配置:

1. 在pom.xml配置

引入spring boot validation starter (這步比較容易遺漏,因?yàn)榇a中沒(méi)有對(duì)它的引用依賴,打包編譯都不會(huì)報(bào)錯(cuò))

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-validation</artifactId>
        </dependency>`

2. 在需要請(qǐng)求的實(shí)體類中

使用javax.validation注解

import lombok.Data;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;

@Data
public class QueryVo {
    private String data;

    @NotEmpty(message = "Input can not be empty!")
    @NotNull(message = "Input can not be empty!")
    private String input;
}

3. 在對(duì)應(yīng)的請(qǐng)求中使用@Valid 注解

    @ApiOperation(value = "查詢")
    @RequestMapping(path = "/query", method = RequestMethod.POST)
    @ResponseBody
    public APIModel query(@Valid @RequestBody QueryVo query) throws Exception {
        return service.query(query);
    }

4. 捕獲異常并組裝返回消息格式

    @ExceptionHandler(value = BindException.class)
    public APIModel bindExceptionHandler(HttpServletRequest request, BindException e) {
        logger.error("Error found:", e);
        BindingResult bindingResult = e.getBindingResult();
        List<ObjectError> objectErrors = bindingResult.getAllErrors();
        ObjectError objectError = objectErrors.get(0);
        return APIModel.error(objectError.getDefaultMessage());
    }

5. 測(cè)試代碼獲取如下結(jié)果

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java數(shù)據(jù)結(jié)構(gòu)學(xué)習(xí)之棧和隊(duì)列

    Java數(shù)據(jù)結(jié)構(gòu)學(xué)習(xí)之棧和隊(duì)列

    這篇文章主要介紹了Java數(shù)據(jù)結(jié)構(gòu)學(xué)習(xí)之棧和隊(duì)列,文中有非常詳細(xì)的代碼示例,對(duì)正在學(xué)習(xí)java的小伙伴們有一定的幫助,需要的朋友可以參考下
    2021-05-05
  • 輕松學(xué)會(huì)使用JavaMail?API發(fā)送郵件

    輕松學(xué)會(huì)使用JavaMail?API發(fā)送郵件

    想要輕松學(xué)會(huì)使用JavaMail?API發(fā)送郵件嗎?本指南將帶你快速掌握這一技能,讓你能夠輕松發(fā)送電子郵件,無(wú)論是個(gè)人還是工作需求,跟著我們的步驟,很快你就可以在Java應(yīng)用程序中自如地處理郵件通信了!
    2023-12-12
  • Java Socket聊天室編程(一)之利用socket實(shí)現(xiàn)聊天之消息推送

    Java Socket聊天室編程(一)之利用socket實(shí)現(xiàn)聊天之消息推送

    這篇文章主要介紹了Java Socket聊天室編程(一)之利用socket實(shí)現(xiàn)聊天之消息推送的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2016-09-09
  • SpringBoot?整合RabbitMq?自定義消息監(jiān)聽(tīng)容器來(lái)實(shí)現(xiàn)消息批量處理

    SpringBoot?整合RabbitMq?自定義消息監(jiān)聽(tīng)容器來(lái)實(shí)現(xiàn)消息批量處理

    Spring Boot中提供了默認(rèn)的監(jiān)聽(tīng)器容器,但是有時(shí)候我們需要自定義監(jiān)聽(tīng)器容器,來(lái)滿足一些特殊的需求,比如批量獲取數(shù)據(jù),這篇文章主要介紹了SpringBoot?整合RabbitMq?自定義消息監(jiān)聽(tīng)容器來(lái)實(shí)現(xiàn)消息批量處理,需要的朋友可以參考下
    2023-04-04
  • 解決springboot無(wú)法注入JpaRepository的問(wèn)題

    解決springboot無(wú)法注入JpaRepository的問(wèn)題

    這篇文章主要介紹了解決springboot無(wú)法注入JpaRepository的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-01-01
  • Map與JavaBean相互轉(zhuǎn)換的工具類?

    Map與JavaBean相互轉(zhuǎn)換的工具類?

    這篇文章主要介紹了Map與JavaBean相互轉(zhuǎn)換的工具類,在做導(dǎo)入的時(shí)候,遇到了需要將map對(duì)象轉(zhuǎn)化?成javabean的問(wèn)題,也就是說(shuō),不清楚javabean的內(nèi)部字段排列,只知道m(xù)ap的?key代表javabean的字段名,value代表值,需要的朋友可以參考下
    2022-02-02
  • Java實(shí)現(xiàn)斷點(diǎn)續(xù)傳功能的示例代碼

    Java實(shí)現(xiàn)斷點(diǎn)續(xù)傳功能的示例代碼

    這篇文章主要為大家詳細(xì)介紹了如何利用Java語(yǔ)言實(shí)現(xiàn)網(wǎng)絡(luò)資源的斷點(diǎn)續(xù)傳功能,文中的示例代碼講解詳細(xì),具有一定的學(xué)習(xí)價(jià)值,感興趣的可以了解一下
    2022-10-10
  • java數(shù)據(jù)庫(kù)唯一id生成工具類

    java數(shù)據(jù)庫(kù)唯一id生成工具類

    這篇文章主要為大家詳細(xì)介紹了java數(shù)據(jù)庫(kù)唯一id生成工具類,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-04-04
  • Java五子棋簡(jiǎn)單實(shí)現(xiàn)代碼舉例

    Java五子棋簡(jiǎn)單實(shí)現(xiàn)代碼舉例

    Java五子棋游戲是一種經(jīng)典的兩人對(duì)戰(zhàn)棋類游戲,它基于簡(jiǎn)單的規(guī)則,即任何一方的棋子在棋盤上形成連續(xù)的五個(gè),無(wú)論是橫、豎還是斜線,都將獲勝,這篇文章主要介紹了Java五子棋實(shí)現(xiàn)的相關(guān)資料,需要的朋友可以參考下
    2024-10-10
  • Java ArrayDeque使用方法詳解

    Java ArrayDeque使用方法詳解

    這篇文章主要為大家詳細(xì)介紹了Java ArrayDeque的使用方法,感興趣的小伙伴們可以參考一下
    2016-03-03

最新評(píng)論

舒兰市| 玛纳斯县| 分宜县| 桃源县| 万盛区| 鄂托克旗| 德化县| 和硕县| 鄂伦春自治旗| 洪湖市| 万源市| 和林格尔县| 保定市| 阜城县| 许昌县| 民权县| 谢通门县| 根河市| 西乌| 大洼县| 罗定市| 平昌县| 丽江市| 兴义市| 平远县| 胶州市| 汝城县| 开化县| 文安县| 石棉县| 崇礼县| 大荔县| 富顺县| 莱州市| 寿光市| 彰化市| 富源县| 临海市| 乐山市| 木里| 桐乡市|