我在RestEasy中使用JBoss 6.x EAP .
当我尝试在我的Web应用程序中包含swagger.io 1.5.0并尝试使用外部泽西休息客户端进行调用时,我注意到它给了我错误,因为由于忽略了@XMLElement(名称而未正确解析正文请求) =“some_value”)在json转换期间 .
这可能是由于swagger jaxb库覆盖了JBoss提供的库 .
这是外部休息客户端的一部分代码
// requestObject is a pojo with JAXB annotations
// When using swagger, the field @XmlElement name is ignored, therefore the object is unmashaled with myName instead of my_name as expected
// @XmlElement(name = "my_name"))
// String myName
ClientResponse response;
try {
response = client.resource(requestURI).queryParams(queryParams)
.type(MediaType.APPLICATION_JSON)
.accept(MediaType.APPLICATION_JSON)
.post(ClientResponse.class, requestObject);
我试图包含最新版本的xml提供程序,如下所示:
<dependency>
<groupId>com.fasterxml.jackson.dataformat</groupId>
<artifactId>jackson-dataformat-xml</artifactId>
<version>2.8.3</version>
</dependency>
但没有变化 .
关于如何使用原始jackson / jaxb提供程序进行对象映射的任何建议?
1 回答
最后通过使用here提供的解决方案解决
只需在swagger库的dependencyManagement上添加这组排除项