资讯专栏INFORMATION COLUMN

Springboot整合Swagger2组件

IT那活儿 / 3377人阅读
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
@EnableSwagger2
public 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,就可以看到文档页面了。

可直接支持在线调试接口


汉 化

  1. 在resources目录下创建文件夹META-INF.resources
  2. 将springfox-swagger-ui.jar包中swagger-ui.html拷贝到新建META-INF.resources里。

  3. swagger-ui.html中导入国际化中文版js
  4. 重启项目,清空缓存,刷新页面。


注 意

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

我们只要放开swagger的静态资源即可。


END


更多精彩干货分享

点击下方名片关注

IT那活儿

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/129890.html

相关文章

  • SpringBoot整合Swagger2,再也不用维护接口文档了!

    摘要:前后端分离后,维护接口文档基本上是必不可少的工作。一个理想的状态是设计好后,接口文档发给前端和后端,大伙按照既定的规则各自开发,开发好了对接上了就可以上线了。本文主要和大伙来聊下在中如何整合。如此,就算配置成功了,非常方便。 前后端分离后,维护接口文档基本上是必不可少的工作。一个理想的状态是设计好后,接口文档发给前端和后端,大伙按照既定的规则各自开发,开发好了对接上了就可以上线了。当然...

    ziwenxie 评论0 收藏0
  • 两年了,我写了这些干货!

    摘要:开公众号差不多两年了,有不少原创教程,当原创越来越多时,大家搜索起来就很不方便,因此做了一个索引帮助大家快速找到需要的文章系列处理登录请求前后端分离一使用完美处理权限问题前后端分离二使用完美处理权限问题前后端分离三中密码加盐与中异常统一处理 开公众号差不多两年了,有不少原创教程,当原创越来越多时,大家搜索起来就很不方便,因此做了一个索引帮助大家快速找到需要的文章! Spring Boo...

    huayeluoliuhen 评论0 收藏0
  • ApiBoot - ApiBoot Swagger 使用文档

    摘要:相关配置配置参数参数介绍默认值是否启用文档标题快速集成文档文档描述通过自动化配置快速集成文档,仅需一个注解一个依赖即可。注意通过所获取的类型都为。 ApiBoot是一款基于SpringBoot1.x,2.x的接口服务集成基础框架, 内部提供了框架的封装集成、使用扩展、自动化完成配置,让接口开发者可以选着性完成开箱即用, 不再为搭建接口框架而犯愁,从而极大...

    yuanxin 评论0 收藏0
  • Gradle环境下导出Swagger为PDF

    摘要:没错,不支持,从导出的文档也可以看到,部分中文无法显示,目前我也尚未找到是否有配置可以实现这个功能。相对前面的方式,使用起来更加简单,也可以修改配置输出中文。 更多精彩博文,欢迎访问我的个人博客 说明 我个人是一直使用Swagger作为接口文档的说明的。但是由于在一些情况下,接口文档说明需要以文件的形式交付出去,如果再重新写一份文档难免有些麻烦。于是在网上看到了Swagger2Mar...

    OnlyMyRailgun 评论0 收藏0
  • 《 Kotlin + Spring Boot : 下一代 Java 服务端开发 》

    摘要:下一代服务端开发下一代服务端开发第部门快速开始第章快速开始环境准备,,快速上手实现一个第章企业级服务开发从到语言的缺点发展历程的缺点为什么是产生的背景解决了哪些问题为什么是的发展历程容器的配置地狱是什么从到下一代企业级服务开发在移动开发领域 《 Kotlin + Spring Boot : 下一代 Java 服务端开发 》 Kotlin + Spring Boot : 下一代 Java...

    springDevBird 评论0 收藏0

发表评论

0条评论

IT那活儿

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<