欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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租機,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)文章

  • SpringBoot實現(xiàn)郵件發(fā)送的示例代碼

    SpringBoot實現(xiàn)郵件發(fā)送的示例代碼

    電子郵件是—種用電子手段提供信息交換的通信方式,是互聯(lián)網(wǎng)應(yīng)用最廣的服務(wù)。本文詳細(xì)為大家介紹了SpringBoot實現(xiàn)發(fā)送電子郵件功能的示例代碼,需要的可以參考一下
    2022-04-04
  • Java對象深復(fù)制與淺復(fù)制實例詳解

    Java對象深復(fù)制與淺復(fù)制實例詳解

    這篇文章主要介紹了 Java對象深復(fù)制與淺復(fù)制實例詳解的相關(guān)資料,需要的朋友可以參考下
    2017-05-05
  • Spring?JDBC?框架簡介

    Spring?JDBC?框架簡介

    Spring?JDBC?提供幾種方法和數(shù)據(jù)庫中相應(yīng)的不同的類與接口。我將給出使用JdbcTemplate類框架的經(jīng)典和最受歡迎的方法。本文給大家介紹Spring?JDBC?框架的相關(guān)知識,感興趣的朋友一起看看吧
    2021-12-12
  • Java實現(xiàn)瀏覽器大文件上傳的示例詳解

    Java實現(xiàn)瀏覽器大文件上傳的示例詳解

    文件上傳是許多項目都有的功能,用戶上傳小文件速度一般都很快,但如果是大文件幾個g,幾十個g的時候,上傳了半天,馬上就要完成的時候,網(wǎng)絡(luò)波動一下,文件又要重新上傳,所以本文給大家介紹了Java實現(xiàn)瀏覽器大文件上傳的示例,需要的朋友可以參考下
    2024-07-07
  • Java單例模式的應(yīng)用示例

    Java單例模式的應(yīng)用示例

    這篇文章主要介紹了Java單例模式的應(yīng)用示例,需要的朋友可以參考下
    2014-02-02
  • Java向List集合中批量添加元素的實現(xiàn)方法

    Java向List集合中批量添加元素的實現(xiàn)方法

    這篇文章主要介紹了Java向List集合中批量添加元素的實現(xiàn)方法,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • java?Comparable和Comparator的區(qū)別及作用面試精講

    java?Comparable和Comparator的區(qū)別及作用面試精講

    這篇文章主要為大家介紹了java?Comparable和Comparator的區(qū)別及作用面試精講,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-10-10
  • Spring中的@Repository注解源碼詳解

    Spring中的@Repository注解源碼詳解

    這篇文章主要介紹了Spring中的@Repository注解詳解,@Repository注解修飾哪個類,則表明這個類具有對對象進(jìn)行增刪改查的功能,而且@Repository是@Component注解的一個派生品,所以被@Repository注解的類可以自動的被@ComponentScan通過路徑掃描給找到,需要的朋友可以參考下
    2023-10-10
  • Spring與Mybatis整合方式(mybatis-spring整合jar包功能)

    Spring與Mybatis整合方式(mybatis-spring整合jar包功能)

    這篇文章主要介紹了Spring與Mybatis整合方式(mybatis-spring整合jar包功能),具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2025-05-05
  • Java請求調(diào)用參數(shù)格式為form-data類型的接口代碼示例

    Java請求調(diào)用參數(shù)格式為form-data類型的接口代碼示例

    這篇文章主要給大家介紹了關(guān)于Java請求調(diào)用參數(shù)格式為form-data類型的接口的相關(guān)資料,文中給出了詳細(xì)的代碼示例,對大家的學(xué)習(xí)或者工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-08-08

最新評論