参考文档
swagger ui 源码地址 https://github.com/swagger-api/swagger-ui ,swagger ui由nodejs开发,可以根据项目要求让前端人员进行二次开发
swagger dubbo集成参考文档:https://github.com/Sayi/swagger-dubbo
swagger dubbo引入mock 参考文档:https://blog.csdn.net/gloomy_114/article/details/73500818
Swagger围绕着OpenAPI规范,提供了一套设计、构建、文档化rest api的开源工具。
swagger-dubbo主要作用是swagger式的文档化+rest风格的HTTP模拟测试。
- 通过swagger阅读接口文档
- 开发人员可以用它来自测服务接口,也可以用它来模拟别人的服务接口返回值
- 测试可以用它来验证接口的正确性,基于HTTP进行接口测试
swagger-dubbo从某些方面提高了内部开发测试的效率,注意的是,rest服务不适合对外(前端)提供,务必在服务端或者测试内部使用
Maven
<dependency>
<groupId>com.deepoove</groupId>
<artifactId>swagger-dubbo</artifactId>
<version>
2.0
.
1
</version>
</dependency>
swagger集成
一. 使用注解 @EnableDubboSwagger
开启dubbo的swagger文档。
package
com.deepoove.swagger.dubbo.example;
import
org.springframework.context.annotation.Configuration;
import
com.deepoove.swagger.dubbo.annotations.EnableDubboSwagger;
@Configuration
@EnableDubboSwagger
public
class
SwaggerDubboConfig {
}
<mvc:annotation-driven/>
<context:annotation-config />
<bean
class
=
"com.wt.swagger.dubbo.config.SwaggerDubboConfig"
/>
<context:property-placeholder />
<!-- 跨域支持,Spring4.
3.10
+,低版本请设置拦截器开启跨域 -->
<mvc:cors>
<mvc:mapping path=
"/swagger-dubbo/**"
allowed-origins=
"*"
/>
</mvc:cors>
四.配置项修改
swagger-dubbo默认无需任何配置,但是也提供了一些可选项。我们这里强制大家都需要把配置给添加进去。
如果是没有接入apollo配置中心,则在新增文件swagger-dubbo.properties,加载配置文件,并且在antx配置文件中添加相应的配置项。
<context:property-placeholder location="classpath*:swagger-dubbo.properties"
/>
#http请求地址,默认为http:
//ip:port/h/com.XXX.XxService/method
swagger.dubbo.http=h
#dubbo 服务版本号
swagger.dubbo.application.version =
1.0
#dubbo服务groupId
swagger.dubbo.application.groupId = com.wt
#dubbo服务artifactId
swagger.dubbo.application.artifactId = payment-service
#rpc zk调用 or 本地调用
swagger.dubbo.cluster = rpc
#是否启用swagger-dubbo,默认为
true
,如果是生产环境就设置为
false
swagger.dubbo.enable =
true
五.备注
以上配置步骤,都是基于项目中已经引入了springmvc相关依赖为前提,如果项目中没有则需要自行加入。
集成已经完毕,启动web容器,浏览器访问 http://ip:port/context/swagger-dubbo/api-docs
查看文档。
这里已payment为例:http://120.26.205.32:9023/payment/swagger-dubbo/api-docs
swagger-ui查看文档
swagger-ui访问地址如下:http://101.37.117.177:8080/static/#/