在参考了大部分博客中,发现关于Swagger-ui的文档很多,但是要迅速的完成一个Demo还是需要调试,查找文档,所有记录下了这篇文章.
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.2.2</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.2.2</version>
</dependency>
2.配置
@Configuration
@EnableSwagger2
public class SwaggerConfig {
@Bean
public Docket createRestApi() {
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.select()
.apis(RequestHandlerSelectors.basePackage("com.tanoak.controller"))//需要扫描的包
.paths(PathSelectors.any())
.build();
}
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title("Spring Boot中使用Swagger2构建RESTful APIs")
.description("更多Spring Boot相关文章:https://www.jianshu.com/u/39192052658a")
.termsOfServiceUrl("https://www.jianshu.com/u/39192052658a")
.contact("tanoak")
.version("1.0")
.build();
}
}
3.书写Controller
@GetMapping("json")
@ApiOperation(value="Map<String,String>", notes="返回MapJson对象")
@ApiImplicitParam(name = "map", value = "Map形式Json对象", required = true, dataType = "Map")
public Map<String ,String> toJson(){
Map<String ,String> map = new HashMap<>() ;
map.put("name","Jack");
map.put("site","江西南昌");
return map ;
}
常用注解详细说明 ps:这里只有部分,更多请参考官方文档
对象属性 @ApiModelProperty 用在出入参数对象的字段上
协议集描述 @Api 用于controller类上
协议描述 @ApiOperation 用在controller的方法上
Response集 @ApiResponses 用在controller的方法上
Response @ApiResponse 用在 @ApiResponses里边
非对象参数集 @ApiImplicitParams 用在controller的方法上
非对象参数描述 @ApiImplicitParam 用在@ApiImplicitParams的方法里边
描述返回对象的意义 @ApiModel 用在返回对象类上
访问http://localhost:2001/swagger-ui.html ps:2001是我的端口号,自行更改 到这里就结束了,来张图片,看看效果
运行效果