如何在非平凡的 Wildfly Swarm 项目中使用 Swagger?
How to use Swagger in non-trivial Wildfly Swarm project?
在一个非常简单的 Wildfly Swarm 项目中,Swagger 工作正常并产生预期的 swagger.json
输出。但是一旦将第二个 java 包添加到项目中,它就不再起作用了。
示例(参见 https://github.com/pe-st/swagger42 示例项目):
- 第一次提交由 http://wildfly-swarm.io/ 生成的项目组成(在包
ch.schlau.pesche.swagger42.rest
中包含一个 class HelloWorldEndpoint
)
第二次提交添加最少的 Swagger 注释并生成以下 swagger.json
:
{
"swagger": "2.0",
"info": {},
"basePath": "/",
"paths": {
"/hello": {
"get": {
"summary": "Get the response",
"description": "",
"operationId": "doGet",
"produces": [
"text/plain"
],
"parameters": [],
"responses": {
"default": {
"description": "successful operation"
}
}
}
}
}
}
第三次提交在第二个 java 包 ch.schlau.pesche.swagger42.core
中添加了一个空的 class。现在生成的 swagger.json
看起来像这样:
{"swagger":"2.0","info":{},"basePath":"/"}
要使 Swagger 在此类项目中发挥作用,必须做些什么?
https://wildfly-swarm.gitbooks.io/wildfly-swarm-users-guide/advanced/swagger.html
创建文件META-INF/swarm.swagger.conf
并添加以下条目:
packages:ch.schlau.pesche.swagger42.rest
启动中有一个信息:
[org.wildfly.swarm.swagger] (main) WFSSWGR0004: Configure Swagger for deployment
demo.war with package ch.schlau.pesche.swagger42.core
或类似的,扫描了哪些包。
在一个非常简单的 Wildfly Swarm 项目中,Swagger 工作正常并产生预期的 swagger.json
输出。但是一旦将第二个 java 包添加到项目中,它就不再起作用了。
示例(参见 https://github.com/pe-st/swagger42 示例项目):
- 第一次提交由 http://wildfly-swarm.io/ 生成的项目组成(在包
ch.schlau.pesche.swagger42.rest
中包含一个 classHelloWorldEndpoint
) 第二次提交添加最少的 Swagger 注释并生成以下
swagger.json
:{ "swagger": "2.0", "info": {}, "basePath": "/", "paths": { "/hello": { "get": { "summary": "Get the response", "description": "", "operationId": "doGet", "produces": [ "text/plain" ], "parameters": [], "responses": { "default": { "description": "successful operation" } } } } } }
第三次提交在第二个 java 包
ch.schlau.pesche.swagger42.core
中添加了一个空的 class。现在生成的swagger.json
看起来像这样:{"swagger":"2.0","info":{},"basePath":"/"}
要使 Swagger 在此类项目中发挥作用,必须做些什么?
https://wildfly-swarm.gitbooks.io/wildfly-swarm-users-guide/advanced/swagger.html
创建文件META-INF/swarm.swagger.conf
并添加以下条目:
packages:ch.schlau.pesche.swagger42.rest
启动中有一个信息:
[org.wildfly.swarm.swagger] (main) WFSSWGR0004: Configure Swagger for deployment
demo.war with package ch.schlau.pesche.swagger42.core
或类似的,扫描了哪些包。