Swagger忽略资源中的函数

时间:2014-11-05 14:55:10

标签: spring cxf swagger

当我试图为swagger配置一切时,它正在工作......不知何故,它忽略了资源中的函数并仅考虑类的@Api注释

我正在使用apache cxf + spring

生成的json只包含类描述,此处没有方法

..."apis":[{"path":"/","description":"Entities operations"}]...

控制器注释

@Path("/")
@Api(value = "/", description = "Entities operations")
@Controller
public class RepositoryResource
....

功能注释

@GET
@ApiOperation(value = "Method to check if this resources is up and running")
public String hello()
...

发现日志消息

 Could not find a definition for bean with id {http://listing.jaxrs.swagger.wordnik.com/}ApiListingResourceJSON.http-destination

弹簧配置

<jaxrs:server id="restAPI" address="/" staticSubresourceResolution="true">
    <jaxrs:serviceBeans>
        <ref bean="swaggerResourceJSON"/>
        <ref bean="repositoryResource"/>
    </jaxrs:serviceBeans>
 ....

1 个答案:

答案 0 :(得分:0)

不要使用根(&#34; /&#34;)作为@Api值 - 这会破坏文档。即使您有@Path("/"),也应该使用@Api("/root")

这不会影响API本身,只会影响文档的提供。

进行修改后,您的/ api-docs将如下所示:

..."apis":[{"path":"/root","description":"Entities operations"}]...

该资源将在/ api-docs / root上提供。使用swagger-ui运行它将产生正确的API调用。