使用Swagger,Swagger-UI生成REST API接口文档

Swagger,Swagger-UI是什么?

Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。总体目标是使客户端和
文件系统作为服务器以同样的速度来更新。文件的方法,参数和模型紧密集成到服务器端的代码,允许API来始终保持同步。
Swagger 让部署管理和使用功能强大的API从未如此简单。
Swagger-UI简单而一目了然。它能够纯碎的基于html+javascript实现,只要稍微整合一下便能成为方便的API在线测试工
具。项目的设计架构中一直提倡使用TDD(测试驱动)原则来开发,swagger-ui在这方面更是能提供很大帮助。 

简单来说就是提供统一的接口文档,方便调试。通过swagger可以在文档接口界面上直接调试接口。可以直接集成到项目中通过
配置文件,来打开和关闭接口文档,方便使用。

springMVC 集成Swagger,Swagger-UI(最简单配置)

1. 引入pom依赖(springMVC配置可用)
<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger2</artifactId>
    <version>2.5.0</version>
</dependency>  
<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger-ui</artifactId>
    <version>2.5.0</version>
</dependency>
2.配置bean
@EnableSwagger2
public class SwaggerConfig {

    @Bean
    public Docket createRestApi() {
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo())
                .select()
                .apis(RequestHandlerSelectors.basePackage("your base package"))
                .paths(PathSelectors.any())
                .build();
    }

    private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
                .title("xxxapi接口文档(所有编码为utf8)")
                .version("1.0")
                .description("api 文档描述")
                .build();
    }
}
3.注册配置bean(放在springMVC的配置文件中)
    <bean class="mypackage.swagger.config.SwaggerConfig"></bean>
4.编写接口注释
@RestController
@RequestMapping(value = "/login")
@Api(description = "登陆页面")
public class AppLoginController {

@Autowired
private ILoginService loginService;

@ApiOperation(value = "用户密码登陆")
@ApiImplicitParams({
        @ApiImplicitParam(name = "mobile", value = "手机号", required = true, dataType = "String", paramType = "query", defaultValue = "13000000000"),
        @ApiImplicitParam(name = "password", value = "密码", required = true, dataType = "String", paramType = "query", defaultValue = "123456") })
@RequestMapping(value = "login", method = RequestMethod.POST)
public AjaxResult login(String mobile, String password) {
    ... login ...
}
5.访问rest接口

项目根路径/v2/api-docs swageer根据接口生成的json文件,可以自定义UI来实现接口文档

项目根路径/swagger-ui.html 访问swagger-ui的rest接口界面,访问必须通过springMVC的DispatchServlet

更多的注解参照

Annotations: https://github.com/swagger-api/swagger-core/wiki/Annotations-1.5.X

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值