(一) Swagger介绍

Swagger 是一款RESTFUL接口的文档在线自动生成+功能测试功能软件

(二)为什么使用Swagger

在现在的开发过程中还有很大一部分公司都是以口口相传的方式来进行前后端的联调,而接口文档很大一部分都只停留在了说说而已的地步,很大一部分的原因就是”懒”,不想写啊,写了代码再写文档,反正我是懒,只要不是强制性要求,没人会愿意写这东西,而且在写的过程中,一个字母的错误就会导致联调时候的很大麻烦,但是通过Swagger,我们可以省略了这一步,而且文档出错率近乎于零,只要你在写代码的时候,稍加几个注解,文档自动生成。还有一点就是文档的修改,定义好的接口并不是一成不变的,可能在开发过程中文档修改不止一次的变化,这个时候就会很难受了,通过Swagger,在线自动生成你怎么写他怎么生,方不方便你自己赶脚

(三)SpringBoot集成Swagger

       1) 添加依赖

<!--Swagger -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.7.0</version>
</dependency>
<!--Swagger-UI -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.7.0</version>
</dependency>

     2) 创建配置文件

@Configuration
@EnableSwagger2
public class SwaggerConfig { @Bean
public Docket createRestApi() {
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.select()
.apis(RequestHandlerSelectors.basePackage("com.example.result.controller"))
.paths(PathSelectors.any())
.build();
} private ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title("springboot利用swagger2构建api文档")
.description("Swagger的RESTful风格API")
.termsOfServiceUrl("https://www.baidu.com")
.version("1.0")
.build();
} }

 

这些做好之后就已经集成了swagger-ui.html 

我们访问

http://localhost:8080/swagger-ui.html


 

 

 

这样其实我们已经配好了,但是怎么使用呢,其实我们只用几个注解就能搞定

 

@Api()用于类;
表示标识这个类是swagger的资源

@ApiOperation()用于方法;
表示一个http请求的操作

@ApiParam()用于方法,参数,字段说明;
表示对参数的添加元数据(说明或是否必填等)

@ApiModel()用于类
表示对类进行说明,用于参数用实体类接收

@ApiModelProperty()用于方法,字段
表示对model属性的说明或者数据操作更改

@ApiIgnore()用于类,方法,方法参数
表示这个方法或者类被忽略

@ApiImplicitParam() 用于方法
表示单独的请求参数

 

例:

@RestController
@Api(value="用户controller",tags={"用户操作接口"})
public class UserController { @PostMapping("/login")
@ApiOperation(value = "登录", notes = "账号密码必输")
public ResponseResult login(String username,String password){
if ("admin".equals(username) || "".equals(password)){
User user = new User();
user.setUsername(username);
user.setPassword(password);
user.setCity("中国");
user.setSex("男");
return new ResponseResult().setData(user);
}else {
return new ResponseResult("");
}
} }

启动之后:

 

 

(四)Swagger-UI的汉化

  对于上面我们所用的版 2.7.0,里面是含有国际化的(2.7.0以上版本不含国际化包)

  

 

   国际化的实现

             1) 在你的sources创建  META-INF/resources    ,在这个目录下创建swagger-ui.html

             2) 找到你导入的springfox-swagger-ui  的包,找到这个html文件把里面的内容copy到你新建的swagger-ui.html

     

 

          3) 加入国际化的js


    <!-- 加入国际化的js -->
<script src="webjars/springfox-swagger-ui/lang/translator.js" type="text/javascript"></script>
<script src="webjars/springfox-swagger-ui/lang/zh-cn.js" type="text/javascript"></script>

 

重启项目  汉化成功

 

 

对于swagger2.7.2以后的版本没有包含国际化的内容,上述的方式是不行的,目前我还没有找到对于新版本国际化的方案

 

如果谁有新版本国际化的方案请留言,谢谢

 

 

 

SpringBoot集成Swagger2 以及汉化 快速教程的更多相关文章

  1. SpringBoot集成Swagger2在线文档

    目录 SpringBoot集成Swagger2在线文档 前言 集成SpringBoot 登录接口文档示例 代码 效果 注解说明 总结 SpringBoot集成Swagger2在线文档 前言 不得不说, ...

  2. SpringBoot集成Swagger2并配置多个包路径扫描

    1. 简介   随着现在主流的前后端分离模式开发越来越成熟,接口文档的编写和规范是一件非常重要的事.简单的项目来说,对应的controller在一个包路径下,因此在Swagger配置参数时只需要配置一 ...

  3. pfSense用户界面汉化翻译教程

    pfSense用户界面汉化翻译教程 来源 https://blog.51cto.com/fxn2025/2087182 为了记录自己的汉化过程,同时也为了方便网友自己制作汉化版本,我把自己汉化pfSe ...

  4. SpringBoot集成Swagger2实现Restful(类型转换错误解决办法)

    1.pom.xml增加依赖包 <dependency> <groupId>io.springfox</groupId> <artifactId>spri ...

  5. springboot集成swagger2构建RESTful API文档

    在开发过程中,有时候我们需要不停的测试接口,自测,或者交由测试测试接口,我们需要构建一个文档,都是单独写,太麻烦了,现在使用springboot集成swagger2来构建RESTful API文档,可 ...

  6. sublimeText3汉化安装教程 附注册码

    sublimeText3汉化安装教程 sublimeText3 很不错,前面几天下了vscore学习Node.js,感觉有点懵,今天下载sublimeText3,遇到的一些小问题,在这里说说: 百度云 ...

  7. springboot 集成swagger2.x 后静态资源报404

    package com.bgs360.configuration; import org.springframework.context.EnvironmentAware; import org.sp ...

  8. springboot集成swagger2报Illegal DefaultValue null for parameter type integer

    springboot集成swagger2,实体类中有int类型,会报" Illegal DefaultValue null for parameter type integer"的 ...

  9. [转] spring-boot集成swagger2

    经测,spring-boot版本使用1.5.2+时需使用springfox-swagger2版本2.5+(spring-boot 1.2 + springfox-swagger2 2.2 在未扫描ja ...

随机推荐

  1. docker-compose 报错记录

    1.如往常一样对docker-compose.yml配置修改后,docker-compose up -d 后台启动,启动后报错,由原来的done变成了error. 第一反应就是down掉这些容器: d ...

  2. 1.Ubuntu查看Python版本

    1.输入命令:ls -l /usr/bin/python*

  3. Codeforces Round #395 C. Timofey and a tree

    package codeforces; import java.util.*; public class CodeForces_764C_Timofey_and_a_tree { static fin ...

  4. 马拉车,O(n)求回文串

    马拉车,O(n)求回文串 对整个马拉车算法步骤做个总结: 第一步:将每个原字母用两个特殊字符包围如: aaa --> #a#a#a# abab -->#a#b#a#b 同时可以由这个翻倍的 ...

  5. Ajax学习总结(2)——Ajax参数详解及使用场景介绍

    一.定义和用法 AJAX即"Asynchronous Javascript And XML"(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术. AJA ...

  6. Java基础学习总结(78)——Java main方法深入研究学习

    1.不用main方法如何定义一个类? 不行,没有main方法我们不能运行Java类. 在Java 7之前,你可以通过使用静态初始化运行Java类.但是,从Java 7开始就行不通了. 2.main() ...

  7. Display PowerPoint slide show within a VB form or control window

    The example below shows how to use VB form/control as a container application to display a PowerPoin ...

  8. python函数基础:嵌套函数、作用域、匿名函数、高阶函数、递归函数

    嵌套函数: 1. 函数内部可以再定义函数 2. 函数只有被调用之后才会执行 看如下代码: age = 18 def func1(): age = 22 print(age) def func2(): ...

  9. [Usaco2016 Open]Diamond Collector

    题目描述 Bessie the cow, always a fan of shiny objects, has taken up a hobby of mining diamonds in her s ...

  10. 【驱动开发】file_operations ---linux 2.6.30

    路径: linux-2.6.30/include/linux/fs.h struct file_operations { struct module   *owner; loff_t         ...