<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      springboot~@Valid注解對嵌套類型的校驗

      @Valid注解可以實現數據的驗證,你可以定義實體,在實體的屬性上添加校驗規則,而在API接收數據時添加@valid關鍵字,這時你的實體將會開啟一個校驗的功能,具體的代碼如下,是最基本的應用:

      實體:

      public class DepartmentDto {
      
        @ApiModelProperty("id")
        private String id;
      
        @ApiModelProperty("上級Id")
        private String parentId;
      
        @ApiModelProperty("編號")
        @NotBlank(message = "部門編號不能為空。")
        private String code;
      
        @ApiModelProperty("名稱")
        @NotBlank(message = "部門名稱不能為空。")
        private String name;
       @ApiModelProperty("員工集合")
      @Builder.Default
      private List<Employee> employees = new ArrayList<>();
      }

      Restful接口:

        @PostMapping()
        public Response<ClientAccount> initialAccount(
            @ApiParam("客戶編號") @PathVariable String code,
            @ApiParam("賬期") @PathVariable YearMonth accountPeriod,
            @ApiParam("請求體") @Valid @RequestBody Request<DepartmentDto> request) {
          ClientAccount result = clientAccountService.initialAccount(
              code,
              accountPeriod,
              request.getOperator(),
              request.getBody());{}

      上面代碼中,我們為請求體Request<DepartmentDto>添加了校驗,在測試時,如果你的DepartmnetDto.name為空字符時,當出現400的異常,麗時異常消息是『部門名稱不能為空』,這對于我們來說是沒有問題的,也是符合我們要求的,下面看另一個場景。

      需要驗證的實體是另一個實休的屬性

      這種方式我們也需要會看到,一個大對象,如被封裝的其它小對象組成,比如部門下面有員工,這時如果需要驗證員工的有效性,需要如何實現呢?如果我們不修改源代碼,執行結果是否定的,它并不會校驗員工這個對象,而只針對第一層對象的屬性

      我們將實體的員工屬性添加上@Valid即可實現對這個屬性的校驗

      public class DepartmentDto {
      
        @ApiModelProperty("id")
        private String id;
      
        @ApiModelProperty("上級Id")
        private String parentId;
      
        @ApiModelProperty("編號")
        @NotBlank(message = "部門編號不能為空。")
        private String code;
      
        @ApiModelProperty("名稱")
        @NotBlank(message = "部門名稱不能為空。")
        private String name;
      
       @Valid
       @ApiModelProperty("員工集合")
       @Builder.Default
       private List<Employee> employees = new ArrayList<>();
      }

      下面看一下驗證結果,我們的400錯誤就可以在單元測試下面正常輸出了!

       @Test
        public void initialAccount_employee_name_empty() {
          List<Employee> employees = new ArrayList<>();
          employees.add(Employee.builder()
              .name("")
              .email("zzl@sina.com")
              .idNumber("110111198203182012")
              .build());
          List<DepartmentDto> departments = new ArrayList<>();
          departments.add(DepartmentDto.builder()
              .name("部門")
              .description("技術部")
              .salaryType(SalaryType.ResearchAndDevelopmentCosts)
              .employees(employees)
              .build());
          ClientAccountDto clientAccountDto = ClientAccountDto.builder()
              .name("客戶")
              .departments(departments)
              .build();
          Request<ClientAccountDto> request = buildRequest(clientAccountDto);
          api.post()
              .uri("/v1/12345/2018-03")
              .body(BodyInserters.fromObject(request))
              .exchange()
              .expectStatus().isEqualTo(400)
              .expectBody()
              .jsonPath("$.errors[0].message").isEqualTo("姓名不能為空");
        }

      結果如下,測試通過

      如果是測試它是IsOk的話,由于用戶名為空,所以會出現錯誤提示

       api.post()
              .uri("/v1/12345/2018-03")
              .body(BodyInserters.fromObject(request))
              .exchange()
              .expectStatus().isOk();

      可以看一下結果的提示信息

      感謝各位閱讀!

      今天主要介紹 @Valid在項目中的使用!

       

      posted @ 2018-05-25 14:26  張占嶺  閱讀(18065)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 欧美精品人人做人人爱视频| 午夜免费无码福利视频麻豆| 天天做天天爱夜夜夜爽毛片| 亚洲天堂一区二区三区三州| 麻豆精产国品一二三产| 狠狠综合久久综合88亚洲| 色综合伊人色综合网站| 国产精品成人亚洲一区二区| 亚洲综合色婷婷中文字幕| 精品亚洲国产成人av| 色综合热无码热国产| 久久综合久色欧美综合狠狠| 亚洲中文字幕在线二页| 国产精品国产三级国av| 中文字幕人成无码免费视频| 动漫AV纯肉无码AV电影网| 蜜臀av一区二区三区不卡| 国产精品成| 精品国产亚洲区久久露脸| 国产精品无码a∨麻豆| 精品乱码一区内射人妻无码| 久久成人 久久鬼色| 麻豆亚洲精品一区二区| 美女内射毛片在线看免费人动物| 国产精品嫩草99av在线| 国厂精品114福利电影免费| 久久99九九精品久久久久蜜桃| 91孕妇精品一区二区三区| 秋霞人妻无码中文字幕| 色爱综合另类图片av| 国产一二三五区不在卡| 亚洲一区二区三区小蜜桃| V一区无码内射国产| 草裙社区精品视频播放| 激情综合网激情五月我去也| 人妻无码不卡中文字幕系列| 亚洲欧美牲交| 久久成人成狠狠爱综合网| 日韩欧美在线综合网另类| 人人爽人人爽人人片a免费| 国产成人亚洲精品狼色在线|