我正在尝试使用Swagger-Jersey-JAXRS模块来记录一个非常简单的RESTful数据服务 .

按照"Java JAXRS Quickstart":https://github.com/wordnik/swagger-core/wiki/Java-JAXRS-Quickstart的说明,我已经注释了我的POJO

@XmlElement(name = "Address")
@ApiModelProperty(value = "The Provider Address")
private String address;

上面的代码位于名为Provider的类中,该类注释为JPA @Entity .

当使用swagger-ui可视化REST API时,返回“Provider”实体的GET操作不会在@XmlElement中显示swagger“value”和提供的名称,如下所示:

Provider {
    address (string, optional),
    ...
}

用于返回提供者列表的Java方法如下所示:

@GET
@Path("/")
@Produces( { MediaType.APPLICATION_JSON })
@ApiOperation(value = "Find Providers for ....", notes = "Get all the Providers for the ... filtered by type.",response = Provider.class, responseContainer = "List")
public List<Provider> listProviders(@ApiParam(value = "The id to use", required = true)
    @QueryParam("id")
    String id) {
   ...
}

如果我从Provider类中删除JPA注释,那么一切都按预期工作 . 我的理解是,JPA注释正在扼杀招摇 .

这是我在搜索中遗漏的swagger的一个已知功能/限制/错误吗?或者这是一个我不理解的概念 .

谢谢