springboot (spring mvc)集成swagger
最近用springboot构建rest接口,考虑到最方便的验证接口,想到了引入swagger。
基本的步骤大致如下:
1.pom中引入swagger依赖:
<dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> </dependency><dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger-ui</artifactId> </dependency>
2.创建swagger的配置类:
/** * <Description> <br> * * @author luoluocaihong<br>* @version 1.0<br>* @taskId <br>* @CreateDate Oct 24, 2016 <br>* @since V8.1<br>* @see XXXX <br>*/ @Configuration @EnableWebMvc @EnableSwagger2 @ComponentScan(basePackages = { "XXXX" }) public class SwaggerConfig {/*** * Description: <br> * * @author luoluocaihong<br>* @taskId <br>* @return <br>*/ApiInfo apiInfo() {return new ApiInfoBuilder().title("XXX Web SelfService APIs").description("").license("").licenseUrl("").termsOfServiceUrl("").version("1.0.0").build();}/*** * Description: <br> * * @author luoluocaihong<br>* @taskId <br>* @return <br>*/@Beanpublic Docket customImplementation() {return new Docket(DocumentationType.SWAGGER_2).select().apis(RequestHandlerSelectors.basePackage("XXXX")).build().directModelSubstitute(org.joda.time.LocalDate.class, java.sql.Date.class).directModelSubstitute(org.joda.time.DateTime.class, java.util.Date.class).apiInfo(apiInfo());}}
3.添加文档内容
/** * <Description> <br> * * @author luoluocaihong<br>* @version 1.0<br>* @taskId <br>* @CreateDate Jul 2, 2017 <br>* @since V8.0<br>* @see XXXX <br>*/ @Api(value = "Rule Cateory") @RestController @EnableAutoConfiguration @RequestMapping(value = "/iot/ruleengine/v1/rulecatg") public class RuleCateoryController {/*** 自动注入*/@Autowiredprivate RuleCateoryService ruleCateoryService;@ApiOperation(value = "Query Rule Category and rule", notes = "Query Rule Category and rule",response = RuleCatgObj.class, tags = {"Rule Cateory" })@RequestMapping(value = "", produces = {"application/json" }, method = RequestMethod.GET)@ResponseStatus(value = HttpStatus.OK)@ResponseBodypublic RuleCatgObj QueryRuleCategoryAndRule() {RuleCatgObj ruleCatgObj = ruleCateoryService.queryRuleCategoryAndRule();return ruleCatgObj;} }
4.启动springboot,访问http://localhost:8081/swagger-ui.html
会发现页面显示报错:
后台报错:
2017-07-02 15:56:51.988 WARN 7176 --- [ qtp20577666-17] o.s.web.servlet.PageNotFound : No mapping found for HTTP request with URI [/swagger-ui.html] in DispatcherServlet with name 'dispatcherServlet'
想一下swagger-ui.html 是在springfox-swagger-ui.jar里的
如何才能让我们能访问到swagger-ui.html???
【百度到,MARK http://www.jianshu.com/p/840320d431a1】
Spring Boot自动配置本身不会自动把/swagger-ui.html这个路径映射到对应的目录META-INF/resources/下面。我们加上这个映射即可。
/** * <Description> <br> * * @author luoluocaihong<br>* @version 1.0<br>* @taskId <br>* @CreateDate Jul 2, 2017 <br>* @since V8.0<br>* @see XXXX <br>*/ @Configuration public class WebMVCConfig extends WebMvcConfigurerAdapter {@Overridepublic void addResourceHandlers(ResourceHandlerRegistry registry) {registry.addResourceHandler("swagger-ui.html").addResourceLocations("classpath:/META-INF/resources/");
registry.addResourceHandler("/webjars/**")
.addResourceLocations("classpath:/META-INF/resources/webjars/");
}}
再次启动springboot,访问http://localhost:8081/swagger-ui.html,OK:
将默认访问路径“/”修改为“/ruleengine” ,如果不加上下面这段代码,访问将有问题:
registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/");
springboot (spring mvc)集成swagger相关推荐
- Spring MVC学习总结(12)——Spring MVC集成Swagger时报错{schemaValidationMessages:[
在springmvc结合swagger的时候,如果将项目部署到服务器上就会出现问题出现下面的图标: 点开会报错误信息: schemaValidationMessages":<
- Spring MVC学习总结(11)——Spring MVC集成Swagger跨域问题
<!-- CORS配置,为了让别的机器访问本机的swagger接口文档服务 --> <dependency> <group ...
- Spring MVC学习总结(13)——Spring MVC集成Swagger时文档无法排序问题
添加排序属性: window.swaggerUi = new SwaggerUi({ ... apisSorter: "alpha", // can also ...
- Spring Boot集成Swagger
Spring Boot集成Swagger @(Swagger)[swagger, springfox, springboot] Spring Boot集成Swagger 前言 基本概述 案例 引入依赖 ...
- Spring MVC 集成 jackson-dataformat-xml 问题
Spring MVC 集成 jackson-dataformat-xml 问题 HttpMessageNotWritableException Could not write content 注:如果 ...
- SpringBoot Spring MVC
一.初始Spring MVC 1.1 什么是Spring MVC 1.Spring MVC是Spring框架的一部分 Spring MVC是一种轻量级的.基于MVC的Web层应用框架.Spring ...
- Spring Boot集成Swagger导入YApi@无界编程
接口APi开发现状 现在开发接口都要在类似YApi上写文档,这样方便不同的团队之间协作,同步更新接口,提高效率. 但是如果接口很多,你一个个手工在YApi去录入无疑效率很低. 如果是使用Spring ...
- spring boot集成swagger,自定义注解,拦截器,xss过滤,异步调用,定时任务案例...
本文介绍spring boot集成swagger,自定义注解,拦截器,xss过滤,异步调用,定时任务案例 集成swagger--对于做前后端分离的项目,后端只需要提供接口访问,swagger提供了接口 ...
- Spring MVC集成slf4j-logback - 我想跟代码谈谈 - 博客频道 - CSDN.NET
Spring MVC集成slf4j-logback - 我想跟代码谈谈 - 博客频道 - CSDN.NET
- Spring Boot 集成 Swagger 生成 RESTful API 文档
原文链接: Spring Boot 集成 Swagger 生成 RESTful API 文档 简介 Swagger 官网是这么描述它的:The Best APIs are Built with Swa ...
最新文章
- c++ 公有继承的赋值兼容规则
- 12 python语言语句块的标记是_7. 简单语句
- OpenCV源码安装教程(兼容CUDA)
- protobuf入门教程(三):常用序列化/反序列化接口
- 堆、栈及静态数据区详解 转
- Java笔记-通过反射获取注解及Spring中获取某包下的所有class文件
- 爬虫异步错误:raise RuntimeError(‘Event loop is closed‘) RuntimeError: Event loop is closed的解决办法
- 修改joomla!底部版权信息的方法
- [转载] 细思极恐的星座分析(下)- 外太空?内子宫?人类的天赋从何而来?
- 数据结构与算法python—4.栈及python实现与leetcode总结
- 正则表达式30分钟入门教程(转载)
- S5P4418裸机之SDIO程序
- 部署dicuz论坛网站
- Codevs1074:食物链——题解
- 前端架构设计应该包含哪些东西?
- 【Java进阶营】什么是真正的架构设计?某厂十年Java经验让我总结出了这些,不愧是我
- 查看tomcat的端口号
- CPU后面字母究竟是啥?
- 主动推迟面试时间是面试的大忌
- gta5在线模式连接不到服务器,gta5线上模式进不去怎么办
热门文章
- docker harbor 域名_docker 安装Harbor
- android 签名报错,AndroidStudio生成签名apk报错
- python中的urllib库_Python2/3中的urllib库
- 微信有电脑客户端吗_一台电脑如何开多个微信?你学会了吗?
- member.php?mod=register文件在哪里,DEDECMS修改member会员中心文件夹名称 更改member目录名称...
- Mac下.DS_Store删除、禁止生成以及恢复生成方式
- 简单选择排序_一文带你读懂排序算法(一):冒泡 amp; 快速选择排序 amp; 简单插入排序算法...
- python录制生成自动化脚本_懒人做自动化测试之二--自动化脚本录制
- bio linux 创建_Linux设备驱动--块设备之概念和框架以及相关结构体
- php.ini 忽略警告,配置php.ini去掉警告信息