首先在pom.xml中添加如下依赖,其它web,lombok等依赖自行添加
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.7.0</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.7.0</version>
</dependency>
SwaggerConfig.java是swagger2的配置类
@Configuration
@EnableSwagger2
public 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
@NoArgsConstructor
public 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<User>lists=new ArrayList<>();
@GetMapping(value ="getAllUser" )
@ApiOperation(value = "用户列表",notes = "查询所有已注册过的用户详细信息")
public List<User> 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的<head>部分添加如下代码
<!--国际化操作:选择中文版 -->
<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>
汉化完成,我们也可以在zh_cn.js中自定义中文名称
另一种生成文档的方式请参见
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持亿速云。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。