我正在尝试使用 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 注释正在招摇。
这是我在搜索中错过的招摇的已知功能/限制/错误吗?还是我没有理解的概念。
谢谢