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

Dubbo RPC接口的參數(shù)校驗過程

 更新時間:2025年10月20日 16:08:21   作者:雪落南城  
文章介紹了在服務(wù)A調(diào)用服務(wù)B時,如何通過添加validation="true"實現(xiàn)參數(shù)校驗,包括在pom文件、配置文件或注解@Reference中設(shè)置,并說明服務(wù)B的接口DTO可嵌套校驗,需使用@Valid和@Validated

Dubbo RPC接口的參數(shù)校驗

服務(wù)A調(diào)用服務(wù)B時,調(diào)用時即對服務(wù)B的接口參數(shù)進(jìn)行校驗 ,無需進(jìn)入到服務(wù)B

重點就是添加 validation = "true"

1、pom文件

<dependency>
    <groupId>javax.validation</groupId>
    <artifactId>validation-api</artifactId>
    <version>1.1.0.Final</version>
</dependency>
<dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate-validator</artifactId>
    <version>5.0.1.Final</version>
</dependency>

2、dubbo xml配置

或者Config類修改 或者@Reference時添加

在客戶端驗證參數(shù)

<dubbo:reference id="validationService" interface="com.alibaba.dubbo.examples.validation.api.ValidationService" validation="true" />

在服務(wù)器端驗證參數(shù)

<dubbo:service interface="com.alibaba.dubbo.examples.validation.api.ValidationService" validation="true" />

config類

@Bean
public ReferenceBean<PLRepaymentPlanService> repaymentPlanServiceReferenceBean(){
    ReferenceBean<PLRepaymentPlanService> referenceBean = new ReferenceBean<>();
    referenceBean.setInterface(PLRepaymentPlanService.class);
    referenceBean.setCheck(false);
    referenceBean.setValidation("true");
    return referenceBean;
}

@Reference

@Reference(validation = "true")
TestService testService;

3、服務(wù)B的接口

Integer createRepaymentPlan(@Valid RepaymentPlanRequestDTO dto,@NotNull Integer age) throws PostLoanException;

DTO 內(nèi)容

@Data
public class RepaymentPlanRequestDTO implements Serializable {

    /**
     * 業(yè)務(wù)源
     **/
    @NotNull
    private Integer businessSource;
    /**
     * 業(yè)務(wù)類型0,消費貸; 1,現(xiàn)金貸; 2,租房; 3:payday;4:無預(yù)約現(xiàn)金貸 5有錢貸,6指尖貸,7多享貸,8租機(jī),9白條,10醫(yī)美,11前置扣款
     **/
    @NotNull
    private Integer type;
    /**
     * 業(yè)務(wù)規(guī)則
     */
    private String businessRule;
    /**
     * 訂單id
     **/
    @NotNull
    private Integer orderId;
    /**
     * 期數(shù)
     **/
    @NotNull
    private Integer period;
    /**
     * 應(yīng)還總額
     **/
    @NotNull
    private BigDecimal total;
    /**
     * 每期應(yīng)還
     **/
    @NotNull
    private BigDecimal every;
    /**
     * 本金
     **/
    @NotNull
    private BigDecimal principal;
    /**
     * 每期利率
     **/
    @NotNull
    private BigDecimal rateEvery;
    /**
     * 服務(wù)費
     **/
    private BigDecimal serviceFee;
    /**
     * 用戶id
     **/
    @NotNull
    private Integer userinfoId;
    /**
     * 商品id
     **/
    private Integer goodsId;
    /**
     * 渠道id
     **/
    private Integer channelId;
    /**
     * 資方id
     **/
    private Integer capitalId;
    /**
     * 起息日
     */
    private LocalDateTime startInterestDate;
    /**
     * 貸款天數(shù)
     **/
    private Integer payDays;
    /**
     * 提單編號(規(guī)則O2O+訂單編號+資方+重試次數(shù))
     */
    private String channelOrderNO;
    /**
     * 是否通知
     * 需要資方生成還款計劃后資方平臺通知/回調(diào)的訂單
     */
    private boolean hasNotified;
    /**
     * 訂單四要素
     */
    @Valid
    private PLUserInfoDTO plUserInfoDTO;

}

可以嵌套校驗 但需要在嵌套校驗的字段上加@Valid

實現(xiàn)類上需要加@Validated

啟動服務(wù)B,服務(wù)A調(diào)用接口,符合添加的valid校驗標(biāo)準(zhǔn)

總結(jié)

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

相關(guān)文章

  • Java多線程常見案例分析線程池與單例模式及阻塞隊列

    Java多線程常見案例分析線程池與單例模式及阻塞隊列

    這篇文章主要介紹了多線程的常見案例,線程池(重點)、單例模式、阻塞隊列,本文通過圖文實例相結(jié)合給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2022-05-05
  • 用Java實現(xiàn)春聯(lián)?支持自定義字體顏色

    用Java實現(xiàn)春聯(lián)?支持自定義字體顏色

    大家好,本篇文章主要講的是用Java編寫春聯(lián)?支持自定義字體顏色,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下
    2022-01-01
  • 理解 MyBatis 是如何在 Spring 容器中初始化的

    理解 MyBatis 是如何在 Spring 容器中初始化的

    這篇文章主要介紹了理解 MyBatis 是如何在 Spring 容器中初始化的,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • Java的JSTL標(biāo)簽庫詳解

    Java的JSTL標(biāo)簽庫詳解

    JSTL包含用于編寫和開發(fā)JSP頁面的一組標(biāo)準(zhǔn)標(biāo)簽,它可以為用戶提供一個無腳本環(huán)境。在此環(huán)境中,用戶可以使用標(biāo)簽編寫代碼,而無須使用Java腳本
    2023-05-05
  • MyBatis 如何配置多個別名 typeAliasesPackage

    MyBatis 如何配置多個別名 typeAliasesPackage

    這篇文章主要介紹了MyBatis 如何配置多個別名 typeAliasesPackage,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-01-01
  • SpringBoot整合Lombok插件與使用詳解

    SpringBoot整合Lombok插件與使用詳解

    Lombok是Java開發(fā)的插件,通過注解自動生成常用代碼,如getter/setter,節(jié)省開發(fā)時間,提高效率,它在編譯期生成方法,不影響性能,安裝Lombok需要添加Maven依賴和IDEA插件,使用注解如@Data、@Getter等簡化代碼編寫,官網(wǎng)提供詳細(xì)文檔
    2024-09-09
  • SpringBoot微服務(wù)實現(xiàn)秒殺搶購代金券功能

    SpringBoot微服務(wù)實現(xiàn)秒殺搶購代金券功能

    本文詳細(xì)介紹了如何設(shè)計一個秒殺系統(tǒng),包括數(shù)據(jù)庫表設(shè)計、秒殺服務(wù)創(chuàng)建、使用限流、緩存和異步處理來應(yīng)對高并發(fā)挑戰(zhàn),感興趣的可以了解一下
    2025-09-09
  • Java?List一些常用方法完全攻略

    Java?List一些常用方法完全攻略

    List就是一個線性表,即n個具有相同類型元素的有限序列,在該序列上可以執(zhí)行增刪改查以及變量等操作,這篇文章主要介紹了Java List一些常用方法的相關(guān)資料,需要的朋友可以參考下
    2026-04-04
  • 利用Java工具類Hutool實現(xiàn)驗證碼校驗功能

    利用Java工具類Hutool實現(xiàn)驗證碼校驗功能

    這篇文章主要介紹了利用Java工具類Hutool實現(xiàn)驗證碼校驗功能,利用Hutool實現(xiàn)驗證碼校驗,校驗的Servlet與今天的第一篇是一樣的,唯一就是驗證碼的生成是不一樣的,利用Hutool生成驗證碼更快捷.需要的朋友可以參考下
    2022-10-10
  • Java控制臺實現(xiàn)猜拳游戲小游戲

    Java控制臺實現(xiàn)猜拳游戲小游戲

    這篇文章主要為大家詳細(xì)介紹了Java控制臺實現(xiàn)猜拳游戲小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-11-11

最新評論

瑞昌市| 上杭县| 朝阳县| 驻马店市| 新巴尔虎左旗| 治县。| 大方县| 汝城县| 夏津县| 三台县| 玉山县| 盱眙县| 定边县| 西华县| 河北省| 八宿县| 井冈山市| 崇仁县| 涞水县| 澜沧| 永寿县| 榕江县| 延吉市| 河西区| 攀枝花市| 炉霍县| 星子县| 融水| 太原市| 嘉祥县| 玉龙| 武陟县| 深圳市| 游戏| 竹山县| 泾阳县| 扎兰屯市| 资中县| 弥渡县| 无锡市| 竹溪县|