spring boot +swagger
<!-- swagger依赖 -!>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.6.1</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.6.1</version>
</dependency>
配置swagger
@Configuration
@EnableSwagger2
public class Swagger2Config {
@Bean
public Docket api() {
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo()) //接口详情
.enable(false) //是否开启swagger.测试环境开启
.select() //通过select()函数返回一个ApiSelectorBuilder实例,用来控制哪些接口暴露给Swagger来展现,
// 自行修改为自己的包路径
.apis(RequestHandlerSelectors.basePackage("com.example.estest.controller"))
.paths(PathSelectors.any()) //
.build();
}
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title("hello Test文档")
.description("测试swagger")
//服务条款网址
.termsOfServiceUrl("http://47.102.129.92")
.version("1.0")
.contact(new Contact("Lhy", "http://ysk521.cn", "741150370@qq.com"))
.build();
}
}
/**
使用swagger
*/
@RestController
@RequestMapping("/hi")
@Api(value="/hi", tags="测试接口模块") //接口描述
public class SwaggerTestController {
@ApiOperation(value="say hello",notes="传入text获取说话内容") //方法描述
@ApiImplicitParam(name="text",value="hello内容",required=true,dataType ="String",paramType ="path")
@GetMapping("/{text}")
public Message sayHello(@PathVariable String text) {
Message msg = new Message();
msg.setText(text);
msg.setTime(new Date());
return msg;
}
@ApiImplicitParam(name=“text”,value=“hello内容”,required=true,dataType =“String”,paramType =“path”) //单个参数的描述
dataType指明数据类型,
paramType指明传入方式,
包括
header–>请求参数的获取:@RequestHeader(代码中接收注解)
query–>请求参数的获取:@RequestParam(代码中接收注解)
path(用于restful接口)–>请求参数的获取:@PathVariable(代码中接收注解)
body–>请求参数的获取:@RequestBody(代码中接收注解)
form(不常用)
访问 http://localhost:8080/swagger-ui.html 查看接口文档