springboot2.3.x整合swagger3的配置过程。
添加依赖
在build.gradle文件中添加swagger依赖
dependencies {
//省略.....
implementation group: 'io.springfox', name: 'springfox-boot-starter', version: '3.0.0'
compile fileTree(dir: 'libs', include: [ '*.jar' ])
}
添加swagger配置类SwaggerConfig.java
代码如下:
import io.swagger.annotations.ApiOperation;
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.oas.annotations.EnableOpenApi;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
@Configuration
@EnableOpenApi
public class SwaggerConfig {
@Bean
public Docket createRestApi() {
return new Docket(DocumentationType.OAS_30)
.apiInfo(apiInfo())
.select()
.apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class))
.paths(PathSelectors.any())
.build();
}
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title("Swagger API 文档实例")
.description("版权所有@www.fitit100.com")
.version("1.0.0")
.build();
}
}
这里我们指定只要加了@ApiOperation注解的都生成API文档
加入API注解
import com.fitit100.geocode.entity.AdminDivision;
import com.fitit100.geocode.response.JsonDataResult;
import com.fitit100.geocode.service.GeocodeService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@RestController
@RequestMapping("/rest")
@Api(tags = "城市查询Rest接口")
public class GeocodeController {
@Autowired
GeocodeService geocodeService;
/**
* 获得所有城市列表
*
* @return
*/
@ApiOperation("获得所有城市列表")
@GetMapping("/shi_list")
public JsonDataResult shiList() {
JsonDataResult result = new JsonDataResult();
List<AdminDivision> list = geocodeService.findByLevel("shi");
result.setData(list);
result.ok("成功读取数据");
return result;
}
}
访问API文档
通过路径http://localhost:8080/swagger-ui/ 即可查看生成的API文档了。
评论区