SpringBoot基于Swagger2构建API文档过程解析
一、添加依赖
io.springfox springfox-swagger2 2.7.0 io.springfox springfox-swagger-ui 2.7.0
二、创建Swagger2配置类
packagecom.offcn.config;
importorg.springframework.context.annotation.Configuration;
importspringfox.documentation.builders.ApiInfoBuilder;
importspringfox.documentation.builders.PathSelectors;
importspringfox.documentation.builders.RequestHandlerSelectors;
importspringfox.documentation.service.ApiInfo;
importspringfox.documentation.spi.DocumentationType;
importspringfox.documentation.spring.web.plugins.Docket;
importspringfox.documentation.swagger2.annotations.EnableSwagger2;
@Configuration//表示该类为一个配置类,相当于spring中的xml配置文件
@EnableSwagger2//开启在线文档
publicclassSwaggerConfig{
//1.声明api文档的属性
privateApiInfoapiInfo(){
returnnewApiInfoBuilder()
.title("SpringBoot中使用Swagger2构建RESTfulAPIs")
.description("优就业")
.termsOfServiceUrl("http://www.ujiuye.com/")
.contact("小刘同学")
.version("1.0")
.build();
}
//配置核心配置信息
publicDocketcreateRestApi(){
returnnewDocket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.select()
.apis(RequestHandlerSelectors.basePackage("com.offcn.controller"))
.paths(PathSelectors.any())
.build();
}
}
三、修改Controller增加文档注释
通过@ApiOperation注解来给API增加说明
通过@ApiImplicitParams@ApiImplicitParam注解来给参数增加说明
packagecom.offcn.controller;
importcom.offcn.dao.UserDao;
importcom.offcn.entity.User;
importio.swagger.annotations.ApiImplicitParam;
importio.swagger.annotations.ApiImplicitParams;
importio.swagger.annotations.ApiOperation;
importorg.springframework.beans.factory.annotation.Autowired;
importorg.springframework.web.bind.annotation.DeleteMapping;
importorg.springframework.web.bind.annotation.GetMapping;
importorg.springframework.web.bind.annotation.RequestMapping;
importorg.springframework.web.bind.annotation.RestController;
@RequestMapping("/rest")
@RestController
publicclassRestFulController{
@Autowired
privateUserDaouserDao;
@GetMapping("/getUserById")
@ApiOperation(value="查找指定id用户信息",notes="根据id查找用户信息")
@ApiImplicitParams({
@ApiImplicitParam(name="id",value="用户ID",required=true,dataType="Integer"),
})
publicUsergetUserById(Integerid){
Useruser=userDao.getOne(id);
returnuser;
}
@DeleteMapping("/del")
@ApiOperation(value="删除指定id用户信息",notes="根据id删除用户信息")
@ApiImplicitParams({
@ApiImplicitParam(name="id",value="用户ID",required=true,dataType="Integer"),
})
publicStringdelUserById(Integerid){
userDao.deleteById(id);
return"success";
}
}
四、查看Swagger2文档
重启项目
访问:
http://localhost:8080/swagger-ui.html
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。