范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

SpringBoot接入Swagger及Swaggerui

  Demo地址:  https://gitee.com/pengld-demo/swagger-demo/Maven依赖      io.springfox     springfox-swagger2     2.9.2                           io.swagger             swagger-models                     io.swagger     swagger-models     1.5.21       io.swagger     swagger-annotations     1.5.21       io.springfox     springfox-swagger-ui     2.9.2       com.github.xiaoymin     swagger-bootstrap-ui     1.9.6  Swagger配置package cn.pengld.swagger.config;  import com.google.common.base.Function; import com.google.common.base.Optional; import com.google.common.base.Predicate; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.util.StringUtils; import org.springframework.web.servlet.config.annotation.EnableWebMvc; import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport; import springfox.documentation.RequestHandler; import springfox.documentation.builders.ApiInfoBuilder; import springfox.documentation.builders.ParameterBuilder; import springfox.documentation.builders.PathSelectors; import springfox.documentation.schema.ModelRef; import springfox.documentation.service.ApiInfo; import springfox.documentation.service.Parameter; import springfox.documentation.spi.DocumentationType; import springfox.documentation.spring.web.plugins.Docket; import springfox.documentation.swagger2.annotations.EnableSwagger2; import java.util.ArrayList; import java.util.List;  /**  * 项目名称:apidoc  *  设置 dev test 环境开启 prod 环境就关闭了  */ @EnableWebMvc @EnableSwagger2 @Configuration //@Profile({"local", "dev", "fat", "uat", "prefive", "pre"}) public class SwaggerConfig extends WebMvcConfigurationSupport {     @Value("${swagger.path}")     private String swaggerPath;      @Value("${spring.application.name}")     private String applicationName;      @Bean     public Docket createRestApi() {         //在配置好的配置类中增加此段代码即可         ParameterBuilder ticketPar = new ParameterBuilder();         List parameters = new ArrayList();          //name表示名称,description表示描述         //required表示是否必填,defaultvalue表示默认值         ticketPar.name("ticket").description("ticket")                 .modelRef(new ModelRef("string")).parameterType("header")                 .required(false).build();          parameters.add(ticketPar.build());          return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo()).select()                 .apis(basePackage(swaggerPath))                 .paths(PathSelectors.any()).build().globalOperationParameters(parameters);     }       /**      * api文档的详细信息函数,注意这里的注解引用的是哪个      *      * @return      */     private ApiInfo apiInfo() {         return new ApiInfoBuilder()                 .title(!StringUtils.isEmpty(applicationName)?applicationName.toUpperCase() +"服务-API接口":"API接口")                 .version("1.0")                 .description("API-描述")                 .build();     }           public static Predicate basePackage(final String basePackage) {         return input -> declaringClass(input).transform(handlerPackage(basePackage)).or(true);     }      private static Function, Boolean> handlerPackage(final String basePackage) {         return input -> {             // 循环判断匹配             for (String strPackage : basePackage.split(",")) {                 boolean isMatch = input.getPackage().getName().startsWith(strPackage);                 if (isMatch) {                     return true;                 }             }             return false;         };     }      private static Optional<? extends Class<?>> declaringClass(RequestHandler input) {         return Optional.fromNullable(input.declaringClass());     } } package cn.pengld.swagger.config;  import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.EnableWebMvc; import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;   @Configuration @EnableWebMvc public class WebMvcConfig implements WebMvcConfigurer  {      @Override     public void addResourceHandlers(ResourceHandlerRegistry registry) { //        registry.addResourceHandler("swagger-ui.html").addResourceLocations("classpath:/META-INF/resources/");         registry.addResourceHandler("doc.html").addResourceLocations("classpath:/META-INF/resources/");         registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/");     } } controller配置package cn.pengld.swagger.web.controller;  import io.swagger.annotations.Api; import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiOperation; import lombok.AllArgsConstructor; import lombok.Data; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController;  import java.util.ArrayList; import java.util.List;  @RestController @RequestMapping("/user") @Api(value = "/user", tags = "用户相关接口") public class UserController {      @ApiOperation(value = "/getUserList", notes = "获取用户列表", httpMethod = "GET")     @GetMapping(value = "/getUserList")     public List getUserList(){         List userList = new ArrayList();         userList.add(new User(1L,"Jack"));         return userList;     } }  @Data @AllArgsConstructor class User{     @ApiModelProperty(value = "id", name = "id")     Long id;      @ApiModelProperty(value = "name", name = "name")     String name; }

山西5G用户数超800万户,移动宽带全国排第9近日,山西省通信管理局发布2021年11月份山西省通信业经济运行情况。2021年111月,电信业务总量为340。8亿元,同比增长24。4电信业务收入累计完成246。4亿元,同比增长Intel及amd8代以后新电脑平台安装win7的方法新电脑装win7的主板bios设置1,硬盘模式必须改为AHCI模式,2,必须关闭安全保护选项,并开启csm,并开启uefilegency双启动支持,3,首选启动项改为硬盘成u盘,而助听器一直响怎么办?做耳模有用吗?你好,看你用的是什么机器,耳背机1。佩戴方法不正确,没有把耳塞完全塞进耳朵里,所以会有啸叫2。耳塞型号太小,可以去验配中心更换大一号的耳塞3。调试有问题,高频部分或者MPO增益过高解决手机乱弹广告的方法前几日,在进行强国学习,特别是在答题时,突然弹出一条广告,到手的胜利,飞了!或者,正在答题时,它给您来个网络开小差了,前功尽弃,无可奈何!笔者通过咨询手机客服,总结以下几点看法,和AMDZen4Zen4C处理器现身最大128核性能增超252022对AMD来说将是产品大年,前不久刚结束的CES上,已经有锐龙6000APU处理器锐龙5000X3D以及RadeonRX显卡更新,而接下来的重中之重就是Zen4了。日前有开源手机跑分真的能代表手机性能吗我们购买手机的都会选择购买性能较高的手机,因此许多手机厂商每次推出新机都会晒出新机型的性能跑分以此作为手机的卖点吸引消费者。这也让很在购买手机人们的时候会参考各大平台的跑分排行的习目前最值得购买的3款千元机,性能强劲,性价比高千元机的定位一直来说不上不下趋于中间,亮点似乎不是很明显,但无论对于哪家手机厂商来说,千元机的用户占比都是很惊人的。千元价位段的手机也一度成为最受欢迎的手机,因此厂商们也推出了很多百元级耳机首选,努比亚新音C1真无线蓝牙耳机体验蓝牙耳机现在早已不是啥新鲜玩意了,但音质价格都参差不齐,想体验好音质,又觉得不如有线耳机,但是又想体验便携,那么你得试试才发布的努比亚新音C1真无线蓝牙耳机了。努比亚新音C1真无线周杰伦可以免费听了?看15秒广告听30分钟歌,QQ音乐内测免费听歌模式每经编辑段炼,易启江随着正版消费意识提高版权生态完善,付费会员服务已经是视频影音类厂商收入的重要来源。例如QQ音乐,一些VIP歌曲如周杰伦林俊杰等人的歌曲并不对普通注册用户开放,甚独家腾讯音乐进行人员和组织调整,涉及QQ音乐及全民K歌记者崔鹏编辑1月21日消息,界面新闻获悉,昨日中午腾讯音乐娱乐集团(以下简称腾讯音乐)内部发出3号公告,对QQ音乐业务线和腾讯音乐基础架构部进行组织结构调整,同时晋升和任命部分管理传网易云音乐向监管部门举报冒名洗歌等行业问题品玩1月21日讯,品玩从消息人士处获悉,近期,网易云音乐向相关监管部门举报行业不正当竞争行为,主要涉及冒名洗歌等此前广受关注的侵权问题。据音乐行业人士介绍,近年来,冒名洗歌这种新形
双11来了,3k价位手机有什么值得入手的?VIVOIQOO7(高通888)8G(LPDDR5)128G(UFS3。1)3098元VIVOX60(三星1080)8G128G(UFS3。1)3198元一加9RT(高通888)8助听器分几个功率?中功率,大功率,超大功率助听器按功率可以分为小功率大功率超大功率。助听器按功率分为小功率,中功率,中小功率,大功率,超大功率五种。都有一定的验配范围。还有就是每个厂家品牌不一样,他2021。10。23最新电脑配置方向与推荐5000预算CPU酷睿I511400F主板微星B560MAPRO内存海盗船16G3200DDR4散热赛普雷冷山白光四铜管固态金士顿500GM2NVME协议显卡映众GTX16504G科融环境布局新能源产业中证网讯(王珞)在日前举行的北京国际风能大会暨展览会上,科融环境(300152)表示,为进一步提升公司的综合竞争力,增强公司在新能源科技创新产业领域的业务拓展,公司将在深圳重庆设立Mac地址会不会有重复的?怎么做到全球唯一的?如果网卡作废了,那么Mac地址回收吗?MAC地址并不能保证唯一性,而且用户可以随意修改电脑的MAC地址,但是并没有影响到相互通信,这是为什么呢?下文具体说一说。MAC地址MAC地址,也称为物理地址硬件地址,存储在设备的如果苹果退出中国,富士康会怎么样?和你想的不一样如果苹果退出中国,富士康会怎么样很久没有在头条上写东西了,不过因为我之前在头条的文章大多都是关于富士康的,所以头条君还经常给我推送一些关于富士康的问题。基本上我也都会做一些简短的回苹果摊上事了,或将面临1777亿的天价罚款最近垄断一词在国际领域似乎已经成了敏感词汇,虽然这种现象在全球范围内一直普遍存在,一直没有办法根治,甚至很多国家还支持一些企业去搞垄断以达到自己不可告人的秘密。前段时间我们开始整治现在的手机像素都特别高,那还有必要使用单反吗?有没有必要,主要看需要。鞋子合适不合适,脚知道。智能手机的拍照效果确实是越来越好。很多智能手机的品牌都和一些知名的相机厂商合作,联手打造出很多以拍照效果强大著称的大屏智能手机。像素企业如何进行进销存管理?这个问题,轻流值得拥有姓名。轻流作为一款支持自定义地系统搭建平台,为企业不同场景下提供了丰富的解决方案,比如进销存的解决方案,是不需要编程安全性更高软件之间的数据实现集成的企业级软电商行业如何选择好的短信群发平台?首先简单了解群发短信平台都有哪些类型第一类是资质齐全实力雄厚的群发短信公司,直接与三大运营商合作。这样的发送速度快,到达率高,稳定性也好,比如宣翼通短信平台。第二类是一些第三方代理抖音平台封禁帐号的依据到底是什么?本人刚买一个手机号,注册抖音号不到12小时,关注被封禁!不到72小时永久被封禁!本人只拍了风景配上音乐发布了几部作品,本人并没有违反抖音平台的任何规则规定!本人也多次向抖音平台反馈