微服api暴露 (Swagger2)
SpringCloud 整合Swagger2
- 项目中引入对应jar包
1 <dependency>
2 <groupId>io.springfox</groupId>
3 <artifactId>springfox-swagger2</artifactId>
4 <version>2.7.0</version>
5 </dependency>
6 <dependency>
7 <groupId>io.springfox</groupId>
8 <artifactId>springfox-swagger-ui</artifactId>
9 <version>2.7.0</version>
10 </dependency>
2.编写Swagger2配置
package com.xxx.springclouddemoconsumerweb.configuration;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.service.Contact;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
@Configuration
@EnableSwagger2
public class SwaggerConfiguration {
@Bean
public Docket createRestApi(){
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.select()
.apis(RequestHandlerSelectors.basePackage("com.xxx.springclouddemoconsumerweb
.controller"))// 你自己的controller 层地址
.paths(PathSelectors.any())
.build();
}
private ApiInfo apiInfo(){
Contact ctt = new Contact("Mr.peng","https://www.cnblogs.com/Mr-PengL/p/14885632.html","xxxx@xxx.com"); //一般填自己的信息
return new ApiInfoBuilder()
.title("spring cloud Swagger2 构建 restApi")
.termsOfServiceUrl("http://despairyoke.github.io/")//固定的地址 不可变
.contact(ctt)
.version("1.0")
.description("API 描述")
.build();
}
}
3.在接口上使用注释语法生成接口文档
@RestController
public class TestCtrl {
@ApiOperation(value="接口功能介绍",notes = "接口使用者注意事项",httpMethod =
"GET")
@ApiImplicitParam(dataType="string",paramType = "query",name = "name",value
= "姓名",required = true)
@RequestMapping("/init")
public String sayHello(String name) {
return "hello,"+name;
}
}
4.地址访问
http://localhost:你的端口/swagger-ui.html
浙公网安备 33010602011771号