在使用springboot作为开发技术时,前后端通常采用动静分离的架构,但是后端经常需要向前端提供接口文档,对于一个小团队而言,这个时间浪费不起。
好在spring提供了swagger,能够方便生成在线文档,按照如下步骤完成swagger配置后,swagger-ui.html访问却报404错误。
第一步:加坐标
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.9.2</version>
</dependency><!--swagger-ui -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.9.2</version>
</dependency>
第二:添加配置类
@Configuration
public class WebMvcConfig implements WebMvcConfigurer {
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/**").addResourceLocations("classpath:/static/");
registry.addResourceHandler("swagger-ui.html")
.addResourceLocations("classpath:/META-INF/resources/");
registry.addResourceHandler("/webjars/**")
.addResourceLocations("classpath:/META-INF/resources/webjars/");
}
}
第三:加注解
* @Api:用于标记API的信息,包括API的名称、描述和版本号等。
* @ApiOperation:用于标记API方法的信息,包括方法的名称、描述和HTTP方法等。
* @ApiParam:用于标记API方法的参数信息,包括参数的名称、描述和数据类型等。
* @ApiResponse:用于标记API方法的响应信息,包括响应的HTTP状态码、描述和响应数据类型等。
* @ApiModel:用于标记API的数据模型信息,包括数据模型的名称、描述和字段信息等。
* @ApiModelProperty:用于标记API数据模型的字段信息,包括字段的名称、描述和数据类型等
第四:访问http://localhost:8080/swagger-ui.html结果报404
检查了好久,结果发现WebMvcConfigurationSupport 与WebMvcConfigurer冲突不生效案例,去了WebMvcConfigurationSupport 即可