我实现了一个项目,它使用一个非常简单的 JAX-RS 后端来向基于 AngularJS 的 UI 提供数据。这些是独立的模块并部署在 Wildfly 9 上。为了为 REST 端点提供一个很好的文档,我发现 swagger.io 似乎很合适。但是,我在按照文档和示例设置 swagger 时遇到了困难,因为我的项目结构略有不同。
当前状态
我可以访问返回的http://localhost:8080/service/swagger.json
{
"swagger": "2.0",
"info": {
"version": "1.0.0",
"title": ""
},
"host": "localhost:8080",
"basePath": "/service",
"schemes": ["http"]
}
Run Code Online (Sandbox Code Playgroud)
但是 swagger-ui (swagger.json 已正确链接)不显示我的任何 REST 端点。
我认为这个问题可能与为 Wildfly 设置的 basePath 或 contextRoot 有关,但这只是一个模糊的猜测。除此之外,我什至不确定要使用哪种 swagger JAX-RS 实现。我想既然我使用 Wildfly (JBoss),它应该是 Resteasy,但 swagger Jersey 设置文档似乎更合适。
我的 REST 端点看起来像http://localhost:8080/service/users/register
相关资源
pom.xml
<dependency>
<groupId>io.swagger</groupId>
<artifactId>swagger-core</artifactId>
<version>1.5.4</version>
</dependency>
<dependency>
<groupId>io.swagger</groupId>
<artifactId>swagger-jaxrs</artifactId>
<version>1.5.4</version>
</dependency>
<dependency>
<groupId>io.swagger</groupId>
<artifactId>swagger-annotations</artifactId>
<version>1.5.4</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
网络.xml …