请求参数 统一 管理 java_必填参数统一处理

本文介绍了如何在Java服务层实现必填参数的统一验证。通过自定义注解`CheckUnfilled`和AOP切面,实现了在非Controller层对交易代码调用时的参数检查,确保必填项不为空。
摘要由CSDN通过智能技术生成

1. 必填参数统一处理

1.1. 需求

项目使用交易代码的形式,反射调用执行类,统一入口和出口类,相当于直接调用服务层,例如:

/**

* 获取订单详情3003101009

*/

ResponseReport getOrderDetail(RequestReport requestReport);

我们知道如果后台调用入口在Controller,且入口参数灵活填写,那么可以使用SpringMVC自带的参数验证方式,通过注解如@NotNull @Size等来限制入参,错误直接返回

现在我调用入口参数统一了,也不在controller层,但要实现相同的功能,也就是参数验证,特别是必填项

1.2. 解决

1.2.1. 服务层

我的想法同样是通过注解来解决,只是注解的实现方法需要自己实现

通过aop切服务层固定入参列表的方法,判断是否存在注解

@Override

@CheckUnfilled(value={"order_id"})

public ResponseReport getOrderDetail(RequestReport requestReport) {

ResponseReport responseReport = new ResponseReport();

Map reqParams = JSON.parseObject(requestReport.getBody().toString(), Map.class);

Object id = reqParams.get(

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值