最近在项目中配置了Swagger2,过程如下。
1、如果是maven项目,在pom文件中添加对应的依赖,如果不是,找到对应的jar包加入到项目中也可以。
<!-- swagger -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.4.0</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.4.0</version>
</dependency>
<!-- jackson json -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.2.3</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.2.3</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>2.2.3</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.module</groupId>
<artifactId>jackson-module-jaxb-annotations</artifactId>
<version>2.2.3</version>
</dependency>
2、新增一个类,直接复制,调整对应的包名,url地址
/**
* Swagger配置
* @since 2018-01-26
*/
@EnableWebMvc
@EnableSwagger2
@ComponentScan(basePackages = {"com.cairh.xpe.ias"})
@Configuration
public class SwaggerConfig {
@Bean
public Docket createRestApi() {
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.select()
.apis(RequestHandlerSelectors
.basePackage("com.cairh.xpe.ias")) // 设置包名
.paths(PathSelectors.any()).build();
}
private ApiInfo apiInfo() {
return new ApiInfoBuilder().title("API接口文档") //
.description("") //
.termsOfServiceUrl("http://127.0.0.1:8081/swagger-ui.html") // 将“127.0.0.1:8081”换成自己的ip:port
.version("1.0").build();
}
}
3.web.xml中加入加入下面配置, servlet-name根据自己项目名调整,不一定就是api
<servlet-mapping>
<servlet-name>api</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
很多人出现这个界面,没有没有显示接口列表,就是没有这一步操作。
4、dispatcher.xml(文件名称根据自己项目中的,不一定就是这样))配置文件中加入配置
<mvc:resources mapping="swagger-ui.html" location="classpath:/META-INF/resources/"/>
<mvc:resources mapping="/webjars/**" location="classpath:/META-INF/resources/webjars/"/>
5、对应接口加上注解配置
类上:@Api(value = "产品信息查询", description = "产品信息查询")
方法上:@ApiOperation(value = "进入详情页面",httpMethod = "GET" ,notes = "ipgroupId")
参数上:@ApiParam(name="ipgroupId",required=true)@RequestParam(required = true)String ipgroupId
6、启动项目,访问地址 http://127.0.0.1:8081/swagger-ui.html
以上只是能够正常运行,一些细节还需要根据自己项目情况调整 。