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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

api分层内部外部 spring_java - Spring boot restful API分层架构验证 - SO中文参考 - www.soinside.com...

發(fā)布時間:2025/3/20 javascript 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 api分层内部外部 spring_java - Spring boot restful API分层架构验证 - SO中文参考 - www.soinside.com... 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

[今天,我與我們的一位團(tuán)隊(duì)成員就Controller和Service層中的RESTful API輸入的驗(yàn)證進(jìn)行了大討論,我覺得這是提出更大論點(diǎn)的糟糕日子。因此,我們有一個具有分層體系結(jié)構(gòu)的spring boot microservice應(yīng)用程序Controller --> Service --> Repository

參數(shù)是在每一層進(jìn)行驗(yàn)證還是僅在Controller層進(jìn)行驗(yàn)證,例如,我們具有Controller和POST請求,并且對輸入請求主體使用JSR-380驗(yàn)證

Controller:@PostMapping(value = "/", consumes = {"application/json"}, produces = {"application/json"})

public ResponseEntity createConfig(

@NotNull(message = "{error.message.config_detail}")

@RequestBody @Validated Config config) {

return new ResponseEntity<>(configService.create(config.getConfigId(), config.getTaskId()), HttpStatus.CREATED);

}

Config:請求正文public class Config {

@ApiModelProperty(name = "config_id", example = "1", required = true)

@NotNull(message = "{error.message.config_id}")

private Long configId;

@ApiModelProperty(name = "task_id", example = "11", required = true)

@NotNull(message = "{error.message.task_id}")

@Min(value = 0, message = "{error.message.task_id}")

@Max(value = 9999, message = "{error.message.task_id}")

private Integer taskId;

// bunch of addition fields with validations

}

如果驗(yàn)證成功,則使用Service中的某些屬性調(diào)用Config方法>

服務(wù):public Detail create(@Valid @NotNull Long configId, @NotNull Integer taskId) {

// some business logic to convert to entity and saving to database

return repository.save(entity));

}

因此,如果我們看到上面的代碼,則在Controller和Service處進(jìn)行相同的驗(yàn)證,因此我認(rèn)為無需在Service層進(jìn)行驗(yàn)證,請?jiān)诳刂破鲗訄?zhí)行驗(yàn)證,并且如果輸入錯誤然后向用戶拋出400或500。 但是團(tuán)隊(duì)中的另一個人也建議在每個塊中對塊中使用的內(nèi)容進(jìn)行驗(yàn)證,以使每段代碼都是安全的(專注于單元而不是集成路徑)。]

我知道在這種情況下我可能是錯的,但是仍然無法理解每一層的驗(yàn)證(我同意無效檢查,因此建議在每個級別進(jìn)行驗(yàn)證的方法Controller --> validation call service

Service ---> validation and call business

Business ---> validation and call repository

Repository --> save根據(jù)我的說法,

但是首選的驗(yàn)證方式是什么?如果Controller輸入是有效的,請調(diào)用Service并執(zhí)行業(yè)務(wù)邏輯并調(diào)用Repository。如果我錯了,請糾正我,以便我可以遵循推薦的模式

今天,我與我們的一位團(tuán)隊(duì)成員就控制器和服務(wù)層中的RESTful API輸入的驗(yàn)證進(jìn)行了廣泛的討論,我覺得這是提出更大論點(diǎn)的糟糕日子。所以我們有一個...

總結(jié)

以上是生活随笔為你收集整理的api分层内部外部 spring_java - Spring boot restful API分层架构验证 - SO中文参考 - www.soinside.com...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产在线播放一区二区 | 入禽太深免费视频 | 欧美高清v| 专干老肥女人88av | 精品国产乱码一区二区三区99 | 制服 丝袜 综合 日韩 欧美 | 欧美日韩免费在线观看 | 久久精品欧美一区二区三区麻豆 | 一区二区三区四区免费 | 黄色小说视频网站 | 成人免费一级视频 | 国产精品20p | 日韩av资源网 | 免费av一区二区三区 | 学生孕妇videosex性欧美 | 亚洲在线视频播放 | 欧美成人精品激情在线视频 | 日韩久久成人 | 夫妻淫语绿帽对白 | 99精品免费视频 | 精品女同一区二区三区 | 日韩精品自拍偷拍 | 欧美老肥妇做.爰bbww视频 | 国产偷拍一区二区 | 一二三区精品 | 深夜久久 | 亚洲黄色激情视频 | 99久久久久久久 | 久久久久久久伊人 | 朴麦妮原版视频高清资源 | 黄色片网站在线 | 亚洲精选一区二区三区 | 无罩大乳的熟妇正在播放 | 久久久国产亚洲 | 亚洲 欧美 综合 | 精品久久福利 | 翔田千里在线播放 | 精品人人人人 | 一区二区三区啪啪啪 | 秋霞精品一区二区三区 | 国产又爽又黄又嫩又猛又粗 | 国产一区二区高清 | 国产精品区在线 | 国产精品毛片久久 | 欧美日韩中日 | 五月婷婷激情小说 | 双性皇帝高h喷汁呻吟 | 日本成人黄色 | 国产精品色在线 | 天堂av手机版 | 操色网 | 性生交大片免费看狂欲 | chinese xxxx videos andvr| 日韩精品免费电影 | 香蕉亚洲 | 亚洲jlzzjizz少妇 | 8050午夜一级毛片久久亚洲欧 | 在线观看福利视频 | 色老汉av一区二区三区 | 三级av毛片| 欧美日韩一区二区三区在线电影 | 亚洲少妇网 | 亚洲av成人一区二区国产精品 | 午夜精品福利一区二区 | 亚洲国产av一区二区三区 | 奇米777狠狠 | 久久久精品国产 | 午夜资源站 | 午夜香蕉 | 免费看的av | 黄色一级黄色片 | av不卡在线看 | 免费在线一级片 | 亚洲1234区| 国产精品一区二区视频 | 国产激情综合 | 高跟av | 麻豆网站在线看 | www.av欧美 | 色妞www精品视频 | 国产精品对白 | 红桃视频成人 | 成为性瘾网黄的yy对象后 | 日韩中文三级 | 日韩精品一区二区三区久久 | 久久久久久久一 | 懂色av一区二区三区在线播放 | 日本两性视频 | 亚洲五码在线 | 日韩中文字幕精品 | 日本精品在线看 | 午夜高清视频 | 日韩免费精品视频 | 男女福利视频 | 久久久水蜜桃 | 在线免费色 | 中文字幕日韩精品在线观看 | 91九色视频在线观看 | 国产成人精品一区二区三区四区 |