2

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

按照“Java JAXRS 快速入门”中的说明:https ://github.com/wordnik/swagger-core/wiki/Java-JAXRS-Quickstart ,我用

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

上面的代码存在于一个名为 Provider 的类中,被注释为 JPA @Entity。

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

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

用于返回 Providers 列表的 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 注释正在招摇。

这是我在搜索中错过的招摇的已知功能/限制/错误吗?还是我没有理解的概念。

谢谢

4

0 回答 0