当前位置:   article > 正文

java后台参数校验工具_java参数校验工具类推荐

java参数校验工具类推荐

以下介绍2种方法实现,全部都是以纯注解的方式做参数校验,用if else就太low了。

方法一:

knife4j工具,此工具封装了swagger和校验工具validation-api,直接引一个依赖就可以了。

pom依赖;

  1. <dependency>
  2. <groupId>com.github.xiaoymin</groupId>
  3. <artifactId>knife4j-spring-boot-starter</artifactId>
  4. <version>3.0.2</version>
  5. </dependency>

swagg配置类;(可以不配置,使用默认的)

  1. import com.github.xiaoymin.knife4j.spring.annotations.EnableKnife4j;
  2. import org.springframework.context.annotation.Bean;
  3. import org.springframework.context.annotation.Configuration;
  4. import springfox.documentation.builders.ApiInfoBuilder;
  5. import springfox.documentation.builders.PathSelectors;
  6. import springfox.documentation.builders.RequestHandlerSelectors;
  7. import springfox.documentation.service.ApiInfo;
  8. import springfox.documentation.service.Contact;
  9. import springfox.documentation.spi.DocumentationType;
  10. import springfox.documentation.spring.web.plugins.Docket;
  11. import springfox.documentation.swagger2.annotations.EnableSwagger2;
  12. /**
  13. * Swagger2配置类(生成接口文档)
  14. *
  15. * @author 白豆五
  16. * @version 2023/1/21
  17. * @since JDK8
  18. */
  19. @Configuration
  20. @EnableSwagger2 //开启swagger2注解支持
  21. @EnableKnife4j //开启Knife4j注解支持
  22. public class SwaggerConfig {
  23. @Bean
  24. public Docket webApiConfig() { //生成接口文档的清单
  25. // 文档类型
  26. return new Docket(DocumentationType.SWAGGER_2)
  27. .groupName("webApi")
  28. .apiInfo(webApiInfo())
  29. .select()
  30. //指定controller包扫描路径
  31. .apis(RequestHandlerSelectors.any())
  32. .paths(PathSelectors.any())
  33. .build();
  34. }
  35. //配置api信息
  36. private ApiInfo webApiInfo() {
  37. return new ApiInfoBuilder()
  38. .title("网站-API文档")
  39. .description("本文档描述了xxx管理系统微服务接口定义")
  40. .version("1.0")
  41. .contact(new Contact("白豆五", "https://blog.csdn.net/qq_46921028", "13212341234@163.com"))
  42. .build();
  43. }
  44. }

访问页面:http://127.0.0.1:798/doc.html

后面就可以在实体类或controller参数中使用校验注解了,相关注解见文章末尾

方法二:

validation-api工具

pom依赖:

  1. <dependency>
  2. <groupId>javax.validation</groupId>
  3. <artifactId>validation-api</artifactId>
  4. </dependency>

引入此依赖,项目中就可以使用参数校验注解了

示例:

get请求:

post请求:

 注解不生效解决方法

@NotEmpty来做参数校验返回 400,并且不显示具体 message 解决

validation-api工具相关注解:

@RequestParam注解常用属性:
  1. //value:注释说明,defaultValue :默认值,required :是否必填
  2. @ApiParam(value = "合同id", defaultValue = "", required = false)

@RequestBody注解参数校验:

  1. public void vipMobileCode(@RequestBody @Validated ShareUserVo userVo) {
  2. }
  1. @Data
  2. @ApiModel(value="测试", description="测试")
  3. public class ShareUserVo implements Serializable {
  4. private static final long serialVersionUID = 1L;
  5. @NotNull(message = "操作不能为空")
  6. @ApiModelProperty(required = true, value = "1会员邀请,2师徒邀请")
  7. private Integer type;
  8. //required = true 用来控制是否必填,可有可无和@NotNull重复
  9. }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/310820
推荐阅读
相关标签
  

闽ICP备14008679号