加入swagger依赖:
<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配置类,简单起见直接写死相关的设置,项目中可以通过读取配置文件信息来注入swagger。
@EnableSwagger2 @Configuration public class SwaggerConfig { @Bean public Docket createRestApi() { return new Docket(DocumentationType.SWAGGER_2) .apiInfo(apiInfo()) .select() .apis(RequestHandlerSelectors.basePackage("me.wubc")) .paths(PathSelectors.any()) .build(); } private ApiInfo apiInfo() { return new ApiInfoBuilder() .title("编程头条API文档") .description("编程头条API文档") .contact(new Contact("无编程", "http://wube.me", "xx@gmail.com")) .termsOfServiceUrl("http://wube.me") .version("1.0") .build(); 复制代码
@Api("登录接口") @RestController @RequestMapping("api/v1/login") public class LoginController { @Autowired private ApUserLoginService apUserLoginService; @ApiOperation("登录接口") @PostMapping("loginAuth") public ResponseResult login(@RequestBody User user) { return apUserLoginService.loginAuth(user); } } 复制代码
简单解释下:
更多的注解可以参考官方文档: docs.swagger.io/swagger-cor…
打开ip:port/swagger-ui.html时出现404错误,这时只需要修改刚刚我们写的SwaggerConfig这个类:继承WebMvcConfigurationSupport,然后重写addResourceHandlers方法,示例如下:
public class SwaggerConfig extends WebMvcConfigurationSupport { // 忽略已有的代码 ... //重写这个方法 @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { registry.addResourceHandler("swagger-ui.html") .addResourceLocations("classpath:/META-INF/resources/"); registry.addResourceHandler("/webjars/**") .addResourceLocations("classpath:/META-INF/resources/webjars/"); } } 复制代码
最后再次运行项目,ip:{port}/swagger-ui.html就行了,注意如果配置上下文context,则需要将地址改为:ip:{port}/{context}/swagger-ui.html
欢迎大家关注我的公众号:后端随笔
以及个人博客: wubc.me