您的位置:首页 > 编程语言 > Java开发

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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: