(实体)参数校验(通用方法)

文章介绍了如何在Java后端使用MybatisPlus进行参数校验,特别是针对名称的唯一性检查。在控制层,通过@NotEmpty注解确保名称非空,然后在服务层调用checkName方法进行详细校验,利用lambdaQuery接口查询实体并对比ID来判断是否存在冲突。
摘要由CSDN通过智能技术生成

 参数校验三要素:
1.查询对应实体的需要校验的参数
2.判断查询出的实体是否为空
3.判断传进来的值与实体类的值是否相等


示例:对某某家属名字做唯一校验  

---此处用到的mybatisPlus中的函数式接口获取字段名称---

 控制层代码:

@GetMapping("/checkName")
public Response checkName(@RequestParam @NotEmpty(message = "名称不能为空")String name, @RequestParam(value = "id", required = false)Long id){
    return Service.checkName(name,id);
}

service层代码
@Override
public Response checkName(String name, Long id) {
    if (checkNames(name,id)){
        throw new BizException(String.format("该名称【%s】己存在", name));
    }
    return Response.buildSuccess();
}
private boolean checkName(String name,Long id){
Parent parent = lambdaQuery().
        eq(Parent::getName, name)
        .select(Parent::getId)
        .one();
if (parent==null){
    return false;
}
return !Objects.equals(Prent.getId(),id);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
方法参数校验是一种保证代码正确性和安全性的重要手段,可以有效避免不必要的错误和漏洞。在 Java 中,可以使用一些开源的参数校验框架来实现方法参数校验,如: 1. Hibernate Validator:是一个基于 JSR 380 标准的参数校验框架,支持常用的校验注解,如@NotNull、@Size、@Email、@Pattern 等,可以通过在方法参数上添加注解来进行参数校验。 2. Apache Commons Validator:是一个 Apache 组织开源的校验框架,支持多种校验器,如 EmailValidator、CreditCardValidator、DateValidator 等,可以通过在方法中调用相应的校验器来进行参数校验。 3. Spring Validation:是 Spring 框架中的参数校验框架,支持 JSR 380 标准的注解,并且提供了一些扩展注解,如@NotBlank、@Range、@Valid 等,可以通过在方法参数上添加注解来进行参数校验。 以上三种参数校验框架都是比较常用的,可以根据自己的需求选择使用。在实际开发中,为了保证代码的可读性和可维护性,通常建议将参数校验的逻辑封装在一个单独的方法中,如: ``` public void doSomething(String param1, int param2) { checkParam1(param1); checkParam2(param2); // do something with param1 and param2 } private void checkParam1(String param1) { if (param1 == null || param1.isEmpty()) { throw new IllegalArgumentException("param1 is required"); } // other checks if necessary } private void checkParam2(int param2) { if (param2 < 0) { throw new IllegalArgumentException("param2 must be positive"); } // other checks if necessary } ``` 这样可以将参数校验和业务逻辑分离,使代码更加清晰明了。同时,也可以通过单元测试来验证参数校验的正确性和可靠性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值