Springboot整合Swagger2组件
Springboot整合Swagger2组件 来源: https://www.ucloud.cn/yun/129890.html 作者: IT那活儿 发布日期: 发布于2023 01 11 13:20 Springboot整合Swagger2组件 现如今,前后端分离已经逐渐成为互联网项目一种标准的开发方式,前端与后端交
来源: https://www.ucloud.cn/yun/129890.html 作者: IT那活儿 发布日期: 发布于2023-01-11 13:20
Springboot整合Swagger2组件
现如今,前后端分离已经逐渐成为互联网项目一种标准的开发方式,前端与后端交给不同的人员开发,但是项目开发中的沟通成本也随之升高,这部分沟通成本主要在于前端开发人员与后端开发人员对WebAPI接口的沟通,Swagger2 就可以很好地解决,它可以动态生成Api接口文档,降低沟通成本,促进项目高效开发。
Swagger2组件配置
pom.xml添加依赖
<dependency> <groupId>io.springfoxgroupId> <artifactId>springfox-swagger2artifactId> <version>2.4.0version> dependency> <dependency> <groupId>io.springfoxgroupId> <artifactId>springfox-swagger-uiartifactId> <version>2.4.0version> dependency>
Swagger2配置类
@Configuration@EnableSwagger2public class Swagger2Config implements WebMvcConfigurer { @Bean public Docket createRestApi() { return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo()).select() .apis(RequestHandlerSelectors.basePackage("task.web")).paths(PathSelectors.any()).build(); } private ApiInfo apiInfo() { return new ApiInfoBuilder().title("Simple APIs").description("simple apis") .termsOfServiceUrl("http://www.***").contact(new Contact("d***", "http://***", "***@shsnc.com")) .version("1.0").build(); } @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/"); }}
编写测试 Controller
@Controller@RequestMapping("/test")@Api(tags = "用户接口")public class TestController { @GetMapping("/login") @ApiImplicitParams({@ApiImplicitParam(name = "username", value = "用户名", paramType = "query"), @ApiImplicitParam(name = "password", value = "密码", paramType = "query")}) @ResponseBody @ApiOperation(value = "用户登陆接口") public String login(@RequestParam("username") String username, @RequestParam("password") String password) { if ("shsnc".equals(username) && "123456".equals(password)) { return "登陆成功"; } else { return "登陆失败,用户名不存在或者密码错误"; } }}
查看接口文档
启动我们的web工程,访问地址http://ip:port/contextName/swagger-ui.html,就可以看到文档页面了。

可直接支持在线调试接口

汉 化
-
在resources目录下创建文件夹META-INF.resources
-
将springfox-swagger-ui.jar包中swagger-ui.html拷贝到新建META-INF.resources里。
-
swagger-ui.html中导入国际化中文版js

-
重启项目,清空缓存,刷新页面。

注 意
我们在启动后,请求http://ip:port/contextName/swagger-ui.html 直接报404错误;是因为Spring Boot默认是拦截静态资源,导致找不到swagger-ui.html。
我们只要放开swagger的静态资源即可。


END
更多精彩干货分享
点击下方名片关注
IT那活儿
