快速整理Swagger
1.整合maven依懒
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.9.2</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.9.2</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.guo.blog.controller"))
.paths(PathSelectors.any())
.build();
}
/**
* 构建 api文档的详细信息函数
*/
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
//页面标题
.title("XX平台API接口文档")
//创建人
.contact(new Contact("guoqinjing", "http://www.baidu.com",
"490857865@qq.com"))
//版本号
.version("1.0")
//描述
.description("系统API描述")
.build();
}
}
3.注解详情
@Api 写在类上面
@Api(tags="订单模块")
@Controller
public class OrderController {
}
@ApiOperation 写在方法上面
@Api(tags="用户模块")
@Controller
public class UserController {
@ApiOperation(value="用户登录",notes="随边说点啥")
@ApiImplicitParams({
@ApiImplicitParam(name="mobile",value="手机号",required=true,paramType="form"),
@ApiImplicitParam(name="password",value="密码",required=true,paramType="form"),
@ApiImplicitParam(name="age",value="年龄",required=true,paramType="form",dataType="Integer")
})
@PostMapping("/login")
public JsonResult login(@RequestParam String mobile, @RequestParam String password,
@RequestParam Integer age){
//...
return JsonResult.ok(map);
}
}
@ApiModel 用在 bean上
@ApiModelProperty 用在参数上面
@ApiModel(description = "用户登录")
public class UserLoginVO implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "用户名",required=true)
private String username;
@ApiModelProperty(value = "密码",required=true)
private String password;
// getter/setter省略
}
本文提供几个常用的注解,如果想了解更多,点击下面了解更多https://blog.csdn.net/xiaojin21cen/article/details/78654652
- 本地路径: http://localhost:8080/swagger-ui.html