Websphere Liberty apiDiscover-1.0对于重载方法在DTO返回对象上引发错误

时间:2018-07-18 15:42:48

标签: java swagger websphere-liberty jackson-databind

问题:带有Swagger注释的端点在响应包装器中返回DTO对象。此DTO对象具有相同属性的两个set方法。 DTO是通过依赖项引入的,因此无法控制getter / setter。

显示的错误:setApiProvider方法引发了异常Bundle:com.ibm.ws.rest.api.discovery(id = 121)java.lang.IllegalArgumentException:属性“”的设置器定义冲突propertyWithTwoSetMethods“:com.fasterxml.jackson.databind.introspect.POJOPropertyBuilder.getSetter(POJOPropertyBuilder.java:303)

下面的DTO为属性设置了两种设置方法:

@GET
@Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
@ApiOperation(value = "Description", response = DTO.class)
public ResponseEntity<DTO> getValue(@QueryParam("value") String value) {
    return service.findData(value);
}

设置:Java,JAX-RS,部署在Websphere Liberty Profile上。 apiDiscovery-1.0功能已启用,可以自动生成swagger文件。

我已经检查过其他有关如何使用mixins进行杰克逊数据绑定的文章,请参阅(Jackson POJOPropertyBuilder finds multiple setters in POJO

如何使用apiDiscover-1.0的swagger实现配置忽略重载的setter?

0 个答案:

没有答案