【问题标题】:How to use Swagger in non-trivial Wildfly Swarm project?如何在非平凡的 Wildfly Swarm 项目中使用 Swagger?
【发布时间】:2018-02-22 17:02:34
【问题描述】:

在一个非常简单的 Wildfly Swarm 项目中,Swagger 工作正常并产生预期的swagger.json 输出。但是一旦将第二个 java 包添加到项目中,它就不再工作了。

示例(参见https://github.com/pe-st/swagger42 示例项目):

  • 第一次提交由http://wildfly-swarm.io/ 生成的项目组成(在包ch.schlau.pesche.swagger42.rest 中包含一个类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 中添加了一个空类。现在生成的swagger.json 看起来像这样:

    {"swagger":"2.0","info":{},"basePath":"/"}
    

必须做些什么才能让 Swagger 在此类项目中发挥作用?

【问题讨论】:

    标签: swagger wildfly-swarm


    【解决方案1】:

    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
    

    或类似的,扫描哪些包。

    【讨论】:

    • 是的,这行得通(我也尝试在 project-defaults.yml 中设置包,但在那里没有用)。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-18
    • 1970-01-01
    • 1970-01-01
    • 2012-05-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多