如何在非平凡的Wildfly Swarm项目中使用Swagger?

时间:2018-02-22 17:02:34

标签: swagger wildfly-swarm

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

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

  • 第一次提交包含由http://wildfly-swarm.io/生成的项目(在包ch.schlau.pesche.swagger42.rest中包含一个类swagger.json
  • 第二次提交添加了最小的Swagger注释并生成以下{ "swagger": "2.0", "info": {}, "basePath": "/", "paths": { "/hello": { "get": { "summary": "Get the response", "description": "", "operationId": "doGet", "produces": [ "text/plain" ], "parameters": [], "responses": { "default": { "description": "successful operation" } } } } } }

    ch.schlau.pesche.swagger42.core
  • 第三个提交在第二个java包swagger.json中添加一个空类。现在生成的{"swagger":"2.0","info":{},"basePath":"/"} 看起来像这样:

    In [24]: nonzero_ind = np.nonzero(seam)
    
    In [25]: x, y = input.shape
    
    In [26]: arr = np.zeros((x, y+1))
    
    In [27]: arr[nonzero_ind] = seam[nonzero_ind]
    
    In [28]: arr[np.where(arr==0)] = input.ravel()
    
    In [29]: arr
    Out[29]: 
    array([[ 1.,  2.,  1.,  1.,  1.],
           [ 1.,  1.,  3.,  1.,  1.],
           [ 1.,  1.,  1.,  4.,  1.]])
    

要让Swagger在像这样的项目中工作,需要做些什么?

1 个答案:

答案 0 :(得分: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

或类似的,扫描哪些包。