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

花乡做网站公司合肥建工学校

花乡做网站公司,合肥建工学校,小程序制作推广费用,wordpress网站数据迁移项目场景#xff1a; springboot项目中同时使用接口文档swagger和knife4j 问题描述 在实体类中设置了字段必填的属性#xff0c;在访问接口文档时出现异常 实体类关键代码片段 /*** 部门表 sys_dept*/ public class SysDept extends BaseEntity {private static final lo…项目场景 springboot项目中同时使用接口文档swagger和knife4j 问题描述 在实体类中设置了字段必填的属性在访问接口文档时出现异常 实体类关键代码片段 /*** 部门表 sys_dept*/ public class SysDept extends BaseEntity {private static final long serialVersionUID 1L;/** 部门ID */private Long deptId;/** 部门名称 */private String deptName;/** 显示顺序 */private Integer orderNum;NotBlank(message 部门名称不能为空)Size(min 0, max 30, message 部门名称长度不能超过30个字符)public String getDeptName(){return deptName;}public void setDeptName(String deptName){this.deptName deptName;}NotNull(message 显示顺序不能为空)public Integer getOrderNum(){return orderNum;}public void setOrderNum(Integer orderNum){this.orderNum orderNum;} }异常描述 1没有加入knife4j配置仅使用swagger配置 dependencygroupIdio.springfox/groupIdartifactIdspringfox-swagger2/artifactIdversion3.0.0/version/dependencypackage com.pie.common.swagger.config;Configuration EnableSwagger2 EnableAutoConfiguration ConditionalOnProperty(name swagger.enabled, matchIfMissing true) public class SwaggerAutoConfiguration {/*** 默认的排除路径排除Spring Boot默认的错误处理路径和端点*/private static final ListString DEFAULT_EXCLUDE_PATH Arrays.asList(/error, /actuator/**);private static final String BASE_PATH /**;BeanConditionalOnMissingBeanpublic SwaggerProperties swaggerProperties(){return new SwaggerProperties();}Beanpublic Docket api(SwaggerProperties swaggerProperties){// base-path处理if (swaggerProperties.getBasePath().isEmpty()){swaggerProperties.getBasePath().add(BASE_PATH);}// noinspection uncheckedListPredicateString basePath new ArrayListPredicateString();swaggerProperties.getBasePath().forEach(path - basePath.add(PathSelectors.ant(path)));// exclude-path处理if (swaggerProperties.getExcludePath().isEmpty()){swaggerProperties.getExcludePath().addAll(DEFAULT_EXCLUDE_PATH);}ListPredicateString excludePath new ArrayList();swaggerProperties.getExcludePath().forEach(path - excludePath.add(PathSelectors.ant(path)));ApiSelectorBuilder builder new Docket(DocumentationType.SWAGGER_2).host(swaggerProperties.getHost()).apiInfo(apiInfo(swaggerProperties)).select().apis(RequestHandlerSelectors.basePackage(swaggerProperties.getBasePackage()));swaggerProperties.getBasePath().forEach(p - builder.paths(PathSelectors.ant(p)));swaggerProperties.getExcludePath().forEach(p - builder.paths(PathSelectors.ant(p).negate()));return builder.build().securitySchemes(securitySchemes()).securityContexts(securityContexts()).pathMapping(/);}/*** 安全模式这里指定token通过Authorization头请求头传递*/private ListSecurityScheme securitySchemes(){ListSecurityScheme apiKeyList new ArrayListSecurityScheme();apiKeyList.add(new ApiKey(Authorization, Authorization, header));return apiKeyList;}/*** 安全上下文*/private ListSecurityContext securityContexts(){ListSecurityContext securityContexts new ArrayList();securityContexts.add(SecurityContext.builder().securityReferences(defaultAuth()).operationSelector(o - o.requestMappingPattern().matches(/.*)).build());return securityContexts;}/*** 默认的全局鉴权策略** return*/private ListSecurityReference defaultAuth(){AuthorizationScope authorizationScope new AuthorizationScope(global, accessEverything);AuthorizationScope[] authorizationScopes new AuthorizationScope[1];authorizationScopes[0] authorizationScope;ListSecurityReference securityReferences new ArrayList();securityReferences.add(new SecurityReference(Authorization, authorizationScopes));return securityReferences;}private ApiInfo apiInfo(SwaggerProperties swaggerProperties){return new ApiInfoBuilder().title(swaggerProperties.getTitle()).description(swaggerProperties.getDescription()).license(swaggerProperties.getLicense()).licenseUrl(swaggerProperties.getLicenseUrl()).termsOfServiceUrl(swaggerProperties.getTermsOfServiceUrl()).contact(new Contact(swaggerProperties.getContact().getName(), swaggerProperties.getContact().getUrl(), swaggerProperties.getContact().getEmail())).version(swaggerProperties.getVersion()).build();} } 在查询接口以上两个字段deptName和orderNum不会被识别成必填字段 2在以上基础加入knife4j依赖 !-- knife4j--dependencygroupIdcom.github.xiaoymin/groupIdartifactIdknife4j-spring-boot-starter/artifactIdversion3.0.2/version/dependency在查询接口以上两个字段deptName和orderNum会被识别成必填字段。 原因分析 应该是swagger对注解NotBlank(message 部门名称不能为空)没有生效。 解决方案 目前还不知道为什么swagger没有对注解生效也没有验证这个必填问题是否对前端接口调用有影响期待大佬的解疑
http://www.hkea.cn/news/14515666/

相关文章:

  • 如何使用爱站网中国建设银行网站公积金查询余额
  • 佛山网站建设公司88六安网页
  • win10 网站建设软件有哪些网站建设素材收集通知
  • 苏州建网站提供广告设计与制作培训学校
  • 浅谈阿里企业的电子网站建设网站建设mus18
  • 石家庄网站制作视频商城网站的搜索记录代码怎么做
  • 衡水建个网站多少钱淘客推广个人网站怎么做
  • 做外贸哪些网站可以找客户西安网站建设瑞信
  • 手机可以建设网站吗wordpress收费主题破解下载
  • 为网站做外链的文章企业查询系统
  • 织梦网站后台教程泰州网站设计公司
  • 网站开发外包公司wordpress搭建电商教程
  • 做网站的的人收入多少钱医院做网站的意义
  • 获得网页源码怎么做网站舆情系统源码
  • 网站介绍视频怎么做苏州工业园区建设局网站
  • 大学有吗网站建设小程序制作定制开发
  • 1个人做多网站负责人wordpress 目录插件
  • 东阿县住房和城乡建设局网站个人介绍微电影网站模板
  • 建设银行银行号查询网站网站建设的栏目规划
  • 销售类网站数据库的建设辽宁智能网站建设推荐
  • 网站与网页设计六安市民网
  • 太和县住房和城乡建设局网站安钢贴吧论坛
  • 北京网站建设工作室哪家好手机存储wordpress
  • 网站制作及排名优化中国企业信用网
  • 铜仁网站建设wordpress拨号
  • 企业网站开发 流程个人网页设计与制作研究背景
  • 网站app的区别国外有趣的网站
  • 茂名做网站报价查看自己网站访问量
  • 正规网站建设学习网公司哪家好广东省建设监理协会网站 - 首页
  • 武进网站制作公司景安网站