说明: 每次开发完成项目,都需要开发人员自己编写文档,这个工作量及变更接口信息,是非常不方便的。所以可以引入swagger工具管理项目api 。
项目集成swagger集成步骤如下:
第一步:pom.xml 文件引入jar
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.9.2</version>
</dependency>
<dependency> <groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.9.2</version>
</dependency>
- 第二步:引入swagger配置类
`@Configuration
@EnableSwagger2
public class WebConfig4static extends WebMvcConfigurerAdapter {
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
//这步骤比较关键,不加有可能访问时,地址404
registry.addResourceHandler("swagger-ui.html") .addResourceLocations("classpath:/META-INF/resources/");
registry.addResourceHandler("/webjars") .addResourceLocations("classpath:/META-INF/resources/webjars/");
super.addResourceHandlers(registry);
}
@Bean
public Docket createRestApi() {
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.select()
.apis(RequestHandlerSelectors.basePackage("com.**.**.controller"))
// 这个加载controller下面的接口,比较关键步骤,不然访问加载不出来接口内容
.paths(PathSelectors.any())
.build(); }
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title("项目管理Rest API文档")
.description("配置信息")
.contact(new Contact("内容", "http://bai.com", "lvchongchon@163.com"))
.termsOfServiceUrl("http://bai.com") .version("1.0")
.build(); } }
`
- 第三步:配置项目中代码集成
1》Controller 类
@Api(tags = "用户offer", description = "提供用户offer的 Rest API")
public class OfferController {
}
2》接口方法
@ApiOperation(value=“创建用户”, notes=“根据User对象创建用户”)
@ApiImplicitParam(name = "Offer", value = "用户详细实体user", required = true, dataType = "TitOffer") @RequestMapping(value = "/insertOffer",method = RequestMethod.POST)
public Result insertOffer(@RequestBody Offer Offer){
}
3
》实体类
@ApiModel("用户实体") public class Offer { @ApiModelProperty(value = "ID", example = "100") private Long id; //主键id @ApiModelProperty(value = "姓名", example = "laolunsi") private String name; //姓名
}
- 第四步,验证效果:
localhost:8080/项目名(可以没有)/swagger-ui.html 效果如下
注意:
- 如果访问不通,一定要加这块代码
//这步骤比较关键,不加有可能访问时,地址404
registry.addResourceHandler(“swagger-ui.html”) .addResourceLocations(“classpath:/META-INF/resources/”);
2.如果访问通后,接口api加载不出来,加下面这块代码
.apis(RequestHandlerSelectors.basePackage(“com...controller”))
// 这个加载controller下面的接口,比较关键步骤,不然访问加载不出来接口内容