swagger-UI在springMVC结构中的使用
2017-07-04 10:46
309 查看
1、在pom.xml文件中引入需要用到的依赖 ,同样需要spring4以上
备注:如果依赖下载不下来,可以试试这两个指令
mvn clean package -DskipTests
mvn dependency:tree -Dverbose
<!-- swagger-springmvc -->
<dependency>
<groupId>com.mangofactory</groupId>
<artifactId>swagger-springmvc</artifactId>
<version>1.0.2</version>
</dependency>
<dependency>
<groupId>com.mangofactory</groupId>
<artifactId>swagger-models</artifactId>
<version>1.0.2</version>
</dependency>
<dependency>
<groupId>com.wordnik</groupId>
<artifactId>swagger-annotations</artifactId>
<version>1.3.11</version>
</dependency>
<!-- swagger-springmvc dependencies -->
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>15.0</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>2.4.4</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.4.4</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.4.4</version>
</dependency>
<!--结束-->
2、编写swagger类
package com.qmc.dataserver.util;
/**
* Created by xiapf on 2017/5/22 0022.
*/
import com.mangofactory.swagger.configuration.SpringSwaggerConfig;
import com.mangofactory.swagger.models.dto.ApiInfo;
import com.mangofactory.swagger.plugin.EnableSwagger;
import com.mangofactory.swagger.plugin.SwaggerSpringMvcPlugin;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
/**
* Created by xiaohui on 2016/1/14.
*/
//@Configuration
@EnableSwagger
public class swaggerConfig {
private SpringSwaggerConfig springSwaggerConfig;
/**
* Required to autowire SpringSwaggerConfig
*/
@Autowired
public void setSpringSwaggerConfig(SpringSwaggerConfig springSwaggerConfig)
{
this.springSwaggerConfig = springSwaggerConfig;
}
/**
* Every SwaggerSpringMvcPlugin bean is picked up by the swagger-mvc
* framework - allowing for multiple swagger groups i.e. same code base
* multiple swagger resource listings.
*/
@Bean
public SwaggerSpringMvcPlugin customImplementation()
{
return new SwaggerSpringMvcPlugin(this.springSwaggerConfig)
.apiInfo(apiInfo())
//下面的enable是控制开关的 如果是false则会显示不通的 true才行
.enable(true)
.includePatterns(".*?");
}
private ApiInfo apiInfo()
{
ApiInfo apiInfo = new ApiInfo(
"Dataserver文档",
"这个是description,我就是看看",
"http://localhost:8080/项目名称/",
"邮箱地址",
"Apache 2.0",
"http://www.apache.org/licenses/LICENSE-2.0.html");
return apiInfo;
}
}
3、注入bean
<bean class="com.qmc.dataserver.util.swaggerConfig"/>
<bean class="com.mangofactory.swagger.configuration.SpringSwaggerConfig" />
4、文件内附swagger-UI的包
4.1 解压放入tomcat中,将项目和swagger-UI部署,然后在swagger-UI中进行配置地址,
$(function () {
var url = window.location.search.match(/url=([^&]+)/);
if(url && url.length > 1){
url = decodeURIComponent(url[1]);
}else{
url = "/swagger-ui-master/demo.json"; //可以修改这里的地址作为默认的项目生成的地址
}
4.2、加入类似下拉框选择,如果地址多的话
页面中加入
<select name="url" id="chooseurl" onchange='chooseUrl()' >
<option value="http://192.168.6.107:8080/项目/api-docs">地址</option>
<option value="http://localhost:8080/项目/api-docs" id='url1'>地址1</option>
<option value="http://192.168.6.228:8080/项目/api-docs" id='url2' >地址2</option>
</select>
js中加入
function chooseUrl(){
document.getElementById('input_baseUrl').value = document.getElementById('chooseurl').value;
}
备注:如果依赖下载不下来,可以试试这两个指令
mvn clean package -DskipTests
mvn dependency:tree -Dverbose
<!-- swagger-springmvc -->
<dependency>
<groupId>com.mangofactory</groupId>
<artifactId>swagger-springmvc</artifactId>
<version>1.0.2</version>
</dependency>
<dependency>
<groupId>com.mangofactory</groupId>
<artifactId>swagger-models</artifactId>
<version>1.0.2</version>
</dependency>
<dependency>
<groupId>com.wordnik</groupId>
<artifactId>swagger-annotations</artifactId>
<version>1.3.11</version>
</dependency>
<!-- swagger-springmvc dependencies -->
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>15.0</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>2.4.4</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.4.4</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.4.4</version>
</dependency>
<!--结束-->
2、编写swagger类
package com.qmc.dataserver.util;
/**
* Created by xiapf on 2017/5/22 0022.
*/
import com.mangofactory.swagger.configuration.SpringSwaggerConfig;
import com.mangofactory.swagger.models.dto.ApiInfo;
import com.mangofactory.swagger.plugin.EnableSwagger;
import com.mangofactory.swagger.plugin.SwaggerSpringMvcPlugin;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
/**
* Created by xiaohui on 2016/1/14.
*/
//@Configuration
@EnableSwagger
public class swaggerConfig {
private SpringSwaggerConfig springSwaggerConfig;
/**
* Required to autowire SpringSwaggerConfig
*/
@Autowired
public void setSpringSwaggerConfig(SpringSwaggerConfig springSwaggerConfig)
{
this.springSwaggerConfig = springSwaggerConfig;
}
/**
* Every SwaggerSpringMvcPlugin bean is picked up by the swagger-mvc
* framework - allowing for multiple swagger groups i.e. same code base
* multiple swagger resource listings.
*/
@Bean
public SwaggerSpringMvcPlugin customImplementation()
{
return new SwaggerSpringMvcPlugin(this.springSwaggerConfig)
.apiInfo(apiInfo())
//下面的enable是控制开关的 如果是false则会显示不通的 true才行
.enable(true)
.includePatterns(".*?");
}
private ApiInfo apiInfo()
{
ApiInfo apiInfo = new ApiInfo(
"Dataserver文档",
"这个是description,我就是看看",
"http://localhost:8080/项目名称/",
"邮箱地址",
"Apache 2.0",
"http://www.apache.org/licenses/LICENSE-2.0.html");
return apiInfo;
}
}
3、注入bean
<bean class="com.qmc.dataserver.util.swaggerConfig"/>
<bean class="com.mangofactory.swagger.configuration.SpringSwaggerConfig" />
4、文件内附swagger-UI的包
4.1 解压放入tomcat中,将项目和swagger-UI部署,然后在swagger-UI中进行配置地址,
$(function () {
var url = window.location.search.match(/url=([^&]+)/);
if(url && url.length > 1){
url = decodeURIComponent(url[1]);
}else{
url = "/swagger-ui-master/demo.json"; //可以修改这里的地址作为默认的项目生成的地址
}
4.2、加入类似下拉框选择,如果地址多的话
页面中加入
<select name="url" id="chooseurl" onchange='chooseUrl()' >
<option value="http://192.168.6.107:8080/项目/api-docs">地址</option>
<option value="http://localhost:8080/项目/api-docs" id='url1'>地址1</option>
<option value="http://192.168.6.228:8080/项目/api-docs" id='url2' >地址2</option>
</select>
js中加入
function chooseUrl(){
document.getElementById('input_baseUrl').value = document.getElementById('chooseurl').value;
}
相关文章推荐
- iOS的UI开发中Modal的使用与主流应用UI结构介绍
- CoreThink主题开发(一)使用H-ui开发博客主题之搭建目录结构
- 使用maven和springMVC项目的结构
- Swagger使用及Springfox+SpringBoot访问http://localhost:8080/swagger-ui.htmlui404
- swagger-bootstrap-ui的使用说明
- swagger-UI使用之app服务器(JavaApplication)
- springmvc使用swagger生成rest api文档
- springMVC 使用 swagger
- 在Web API中使用Swagger-UI开源组件(一个深坑的解决)
- [goa]golang微服务框架学习(三)-- 使用swagger-ui展示API
- Swagger UI教程 API 文档神器 搭配Node使用
- Swagger UI教程 API 文档神器 搭配Node使用 web api 接口文档 (转)
- Swagger UI教程 API 文档神器 搭配Node使用
- Swagger UI教程 API 文档神器 搭配Node使用
- Swagger-UI的配置与使用
- Swagger UI教程 API 文档神器 搭配Node使用
- Asp.net Core WebApi 使用Swagger做帮助文档,并且自定义Swagger的UI
- SpringMVC集成Swagger插件以及Swagger注解的简单使用
- 多种方式解决spring boot swagger ui使用 nginx 部署后无法使用问题