国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|JavaScript|易語言|

香港云服务器
服務器之家 - 編程語言 - Java教程 - springboot @Valid注解對嵌套類型的校驗功能

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

2021-05-05 11:33張占嶺 Java教程

這篇文章主要介紹了springboot~@Valid注解對嵌套類型的校驗,主要介紹 @Valid在項目中的使用,需要的朋友可以參考下

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

實體:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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接口:

?
1
2
3
4
5
6
7
8
9
10
@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即可實現對這個屬性的校驗

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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錯誤就可以在單元測試下面正常輸出了!

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
@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("姓名不能為空");
 }

 結果如下,測試通過

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

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

?
1
2
3
4
5
api.post()
    .uri("/v1/12345/2018-03")
    .body(bodyinserters.fromobject(request))
    .exchange()
    .expectstatus().isok();

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

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

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

總結

以上所述是小編給大家介紹的springboot @valid注解對嵌套類型的校驗,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對服務器之家網站的支持!

原文鏈接:http://www.cnblogs.com/lori/p/9088380.html

延伸 · 閱讀

精彩推薦
1229
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 国内精品视频一区二区三区八戒 | www成人精品 | 成人免费视频 | 噜噜噜噜噜在线视频 | 91麻豆精品国产91久久久资源速度 | 日本一区二区不卡在线观看 | 亚洲日日摸夜夜夜夜夜爽小说 | 国产精品美女久久久av超清 | 久久久久久91香蕉国产 | 久久精品国产亚洲 | 日本免费在线视频 | 成人精品视频免费 | 中文字幕av一区二区 | 亚洲欧美成人综合 | 亚洲另类视频 | 精品伦精品一区二区三区视频 | 国产专区在线看 | 久久亚洲综合 | 成人在线手机版视频 | 欧美不卡一区二区三区 | 成人在线小视频 | 久草青青草 | 久久国产精品一区二区 | 亚洲一区免费 | 国产日韩一区二区 | 91免费在线视频 | 国产三级 | 婷婷五月情 | 成人免费黄色片 | 精品综合在线 | 亚洲国产视 | 国产三级精品在线 | 免费裸体无遮挡黄网站免费看 | 国产精品中文字幕在线 | 操操网站| 国产亚洲精品久久久久动 | 亚洲天堂一区二区 | www.亚色网.com | 永久91嫩草亚洲精品人人 | 成人网色 | 欧美人成在线观看 |