博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SpringBoot结合Swagger2自动生成api文档
阅读量:6238 次
发布时间:2019-06-22

本文共 2609 字,大约阅读时间需要 8 分钟。

首先在pom.xml中添加如下依赖,其它web,lombok等依赖自行添加

io.springfox
springfox-swagger2
2.7.0
io.springfox
springfox-swagger-ui
2.7.0
复制代码

SwaggerConfig.java是swagger2的配置类

@Configuration@EnableSwagger2public class SwaggerConfig {    @Bean    public Docket createRestApi() {        return new Docket(DocumentationType.SWAGGER_2)                .apiInfo(apiInfo())                .select()                .apis(RequestHandlerSelectors.basePackage("cn.niit.controller"))                .paths(PathSelectors.any())                .build();    }    private ApiInfo apiInfo() {        return new ApiInfoBuilder()                .title("Spring Boot中使用Swagger2")                .description("首次尝试自动生成api文档为后期的前后端分离开发做准备")                .termsOfServiceUrl("https://www.jianshu.com/u/2f60beddf923")                .contact("WEN")                .version("1.0")                .build();    }}复制代码

实体类User.java

@Data@AllArgsConstructor@NoArgsConstructorpublic class User {    public User(String userName, String password) {        this.userName = userName;        this.password = password;    }    private Integer id;    private String userName;    private String password;}复制代码

新建一个控制类UserController.java,类下有个方法getAllUser

@RestController@Api(description = "用户管理")@RequestMapping(value = "/hello",produces = APPLICATION_JSON_VALUE)public class UserController {    List
lists=new ArrayList<>(); @GetMapping(value ="getAllUser" ) @ApiOperation(value = "用户列表",notes = "查询所有已注册过的用户详细信息") public List
getAllUser() { lists.add(new User("wen","999")); lists.add(new User(2,"qian","666")); return lists; }}复制代码

点击localhost:8888/swagger-ui.html(我在application.propertise中的server.port=8888)

在类中再添加一个方法addUser

@PostMapping(value = "addUser")    public User addUser(User user)    {        return user;    }复制代码

实体类User.java的属性上添加如下注解

@ApiModelProperty(value = "用户ID")    private Integer id;    @ApiModelProperty(value = "用户名")    private String userName;    @ApiModelProperty(value = "密码")    private String password;复制代码

创建用户时有些字段我们并不需要,可以加入如下注解

@ApiModelProperty(hidden = true)复制代码

在类中再添加一个根据用户id查询用户的方法

@GetMapping(value = "getUserById/{id}")    public User getUserById(@ApiParam(value = "用户ID")@PathVariable(value = "id")String id)    {        return new User(id,"步惊云","passwordjava");    }复制代码

汉化成中文文档

在swagger相关的jar包

把META-INF这个包复制到你当前项目的resources目录下
这些是关键,剩下多余的包可自行删除

在swagger-ui.html的部分添加如下代码

复制代码

汉化完成,我们也可以在zh_cn.js中自定义中文名称

另一种生成文档的方式请

转载地址:http://nwuia.baihongyu.com/

你可能感兴趣的文章
Exchange系列—配置传输规则
查看>>
1.3.1原文件声明规则
查看>>
Linux下搭建无人执守安装服务器
查看>>
第九节 三元操作符
查看>>
我的友情链接
查看>>
Win7新建Wifi热点(无工具版)
查看>>
IPPBX 2000 SIP 并发修改为一路
查看>>
修改Linux系统时间
查看>>
phalcon:使用路由和命名空间实现分组or模块化
查看>>
LVM Mirror Raid1管理
查看>>
last 命令:
查看>>
为linux安装epel-yum仓库
查看>>
自动登录TP-LINK路由器,获取所有信息,重启等等,实用方法
查看>>
ajax调用mvc控制器
查看>>
HTML特殊字符替换问题 html escape相关
查看>>
XCode打包出现does not contain a single boundle错误解决办法
查看>>
ifcfg, ip/ss,配置文件详解
查看>>
mac安装web3j
查看>>
扣丁音乐 个人练习源码下载
查看>>
对称加密PBE(代码实现)
查看>>