当前位置: 首页 > news >正文

企业网站建设课件建设银行网站 个人客户端

企业网站建设课件,建设银行网站 个人客户端,站长之家app下载,企业邮箱注册申请官网现象#xff1a; 自定义注解使用 方法#xff1a; 1#xff1a;元注解 java.lang.annotation 下定义了元注解 Documented 文档相关 标注了此注解则会包含在javadoc文档中Retention 指定注解生命周期Target 指定注解作用范围Inherited 指定子类可以继承父类的注解Native …现象 自定义注解使用 方法 1元注解 java.lang.annotation 下定义了元注解 Documented 文档相关 标注了此注解则会包含在javadoc文档中Retention 指定注解生命周期Target 指定注解作用范围Inherited 指定子类可以继承父类的注解Native 指定字段是常量Repeatable 指定在一个地方可以重复使用同一个注解 2元注解 Retention 生命周期 SOURCE: 只保留在源文件CLASS: 保留到class文件RUNTIME: 运行时也存在 3元注解 Target 作用范围 TYPE——接口、类、枚举、注解FIELD——字段、枚举的常量METHOD——方法PARAMETER——方法参数CONSTRUCTOR ——构造函数LOCAL_VARIABLE——局部变量ANNOTATION_TYPE——注解PACKAGE——包用于记录java文件的package信息 4新建java类选择注解Annitation 5示例建立MyAnnitation注解 6使用 二实例使用 需求自定义注解校验请求参数只能是指定值 比如 请求接口 type 参数 只能是1、“2”、“3” 方法 1引入validation校验jar包 dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-validation/artifactId/dependency2建立自定义注解 自定义注解范围 字段、枚举的常量、方法参数 使用Constraint 指定校验逻辑的类 Target({ElementType.PARAMETER,ElementType.FIELD}) Retention(RetentionPolicy.RUNTIME) Documented Constraint(validatedBy EnumRangeValidator.class) public interface CheckEnum {// 校验能输入的值String[] rang();// 错误提示String message() default 输入的内容不在规定范围;// 名称固定参数:校验分组信息Class?[] groups() default {};// 名称固定参数:加载的负载Class? extends Payload[] payload() default {};}3建立校验逻辑的类EnumRangeValidator public class EnumRangeValidator implements ConstraintValidatorCheckEnum,String {private String[] range;Overridepublic void initialize(CheckEnum constraintAnnotation) {// 初始化将注解中的枚举内容放数组rangerangeconstraintAnnotation.rang();}Overridepublic boolean isValid(String request, ConstraintValidatorContext constraintValidatorContext) {// 判断输入的值在不在 注解设置的范围if(StringUtils.isNotBlank(request)){if(range!null range.length0){return Arrays.asList(range).contains(request);}}return false;} }4全局异常监听控制返回 这里简单返回String 实际开发中应该定义全局返回对象 Slf4j RestControllerAdvice public class GlobalExceptionHandlerT {ResponseBodyResponseStatus(HttpStatus.OK)ExceptionHandler({MethodArgumentNotValidException.class})private String argumentsNotValid(MethodArgumentNotValidException e) {try {var fieldError e.getBindingResult().getFieldError();var defaultMessage fieldError.getDefaultMessage();log.error(参数校验不通过 , e);return defaultMessage;} catch (NullPointerException exception) {log.error(fieldError 为空, e);return 参数异常;}}ResponseBodyResponseStatus(HttpStatus.OK)ExceptionHandler(ConstraintViolationException.class)private String multiArgumentNotValid(ConstraintViolationException e) {var constraintViolations e.getConstraintViolations();var reduce constraintViolations.stream().map(ConstraintViolation::getMessage).reduce((x, y) - x y).orElse();log.error(参数校验不通过 , e);return reduce;} }5请求入参对象EnumValidRequest Data NoArgsConstructor AllArgsConstructor public class EnumValidRequest {/*** NotBlank 不能为空校验*/NotBlank(message id不能为空!)private String id;private String name;/*** 设置类型 值只能是1、2、3* 使用自定义枚举校验 类型只能传值1、2、3*/CheckEnum(rang {1,2,3})private String type; } 6请求接口test/check/enum 使用定义的EnumValidRequest 作为参数 Slf4j RestController RequestMapping(/test) Validated public class RequestController {PostMapping(/check/enum)public String getA(Valid RequestBody EnumValidRequest request){log.debug(a请求执行:{},request);return A;}}7启动项目 访问接口test/check/enum 输入的type不在范围时返回 不传id时返回 正常参数访问返回
http://www.hkea.cn/news/14383892/

相关文章:

  • 可以看qq空间的网站苏州 建设 公司 手机
  • 什么是竞价百度推广怎么做网站的优化
  • 网站辅助导航外贸新手怎样用谷歌找客户
  • 南阳网站托管网站推广专员的岗位职责是什么
  • 顺义企业建站费用网站开发常用语言比较
  • 百度地图关键词排名优化辽源seo
  • .net 企业网站 模版临安市建设局网站
  • 织梦网站普通地图插件pexels免费素材网站
  • 保定市建网站的公司软件开发前端
  • 做网站要学些什么软件淘宝联盟做的好的网站
  • 百度多久收录网站如何在交易网站做电子印章
  • 重庆网站建设公司夹夹虫专业百度收录查询工具
  • 高端网站制作建设国外旅游哪几个网站做攻略好
  • 网站加支付功能福州企业网站维护
  • 网站制作优化推广建网站多少
  • 建设银行企业网站银行爬取数据做网站
  • 播放swf文件 自动弹出网站谷歌外贸网站建站
  • 合肥网站建设找佳达wordpress 附件插件
  • 大连市城市建设投资集团网站南昌微信公众号制作
  • 网站备案费用多少做培训的网站
  • 无锡 学校网站建设手机套 东莞网站建设
  • 建个什么网站企业咨询公司收费标准
  • 哪个网站卖自己做的手工艺品wordpress 翻页电子书
  • 网站建设公司下载建设文明网 联盟网站的
  • 网站设计收集wordpress页面右上
  • php网站开发教程 pdfwordpress安装超时
  • 简约手机网站源码淘宝店需要多少资金
  • 淄博网站建设给力臻动传媒北京网站建设 时创设计
  • 企业网店推广运营策略大众点评seo关键词优化
  • 网站怎么做咨询wordpress ent