我有一個Maven多模塊項目有兩個模塊:駱駝調用REST服務無法檢索返回對象DTO:JsonMappingException,無串爲CachedOutputStream
- 運行REST服務(端口8081)
- 一個一個springboot
在駱駝項目中,我創建了一個路線建設者這樣的駱駝項目誰充當代理並調用其他服務(端口8080):
restConfiguration().component("servlet")
.bindingMode(RestBindingMode.json)
.dataFormatProperty("prettyPrint", "true")
.dataFormatProperty("json.in.disableFeatures", "FAIL_ON_EMPTY_BEANS")
.contextPath("/").port(8080)
.apiProperty("cors", "true");
rest("/car").description("Cars rest service")
.consumes("application/json").produces("application/json")
.get("/{id}").description("Find car by id")
.param().name("id").type(RestParamType.path)
.description("The id of the car to get")
.dataType("int").endParam()
.to("http://localhost:8081?bridgeEndpoint=true");
REST服務返回ResponseEntity<CarDto>
有效並且不爲空(我調試的話),但儘管如此,駱駝項目不能得到它,一個異常被推出:
com.fasterxml.jackson.databind.JsonMappingException:找不到類org.apache.camel.converter.stream.CachedOutputStream $ WrappedInputStream的序列化程序,並且沒有發現用於創建BeanSerializer的屬性(以避免異常,禁用SerializationFeature.FAIL_ON_EMPTY_BEANS)。 at com.fasterxml.jackson.databind.JsonMappingException.from(JsonMappingException.java:275) at com.fasterxml.jackson.databind.SerializerProvider.mappingException(SerializerProvider.java:1110) at com.fasterxml.jackson.databind。 SerializerProvider.reportMappingProblem(SerializerProvider.java:1135) at com.fasterxml.jackson.databind.ser.impl.UnknownSerializer.failForEmpty(UnknownSerializer.java:69) at com.fasterxml.jackson.databind.ser.impl.UnknownSerializer。 serialize(UnknownSerializer.java:32) at com.fasterxml.jackson.databind.ser.DefaultSerializerProvider.serializeValue(DefaultSerializerProvider.java:292) at com.fasterxml.jackson.databind.ObjectWriter $ Prefetch.serialize(ObjectWriter.java: 1419) at com.fasterxml.jackson.databind.ObjectWrite r._configAndWriteValue(ObjectWriter.java:1147) at com.fasterxml.jackson.databind.ObjectWriter.writeValue(ObjectWriter.java:977) at org.apache.camel.component.jackson.JacksonDataFormat.marshal(JacksonDataFormat.java: 154)
然後,而不是調用其他服務,我增加了一個控制器-API與同requestmapping:
@RequestMapping(value = "/car/{id}", method = RequestMethod.GET)
public ResponseEntity<CarDto> findOne...
在它返回一個
CarDto
太駱駝項目
。駱駝稱它並且工作正常。
任何人都可以幫忙嗎?