我想在JAX-RS(CXF实现)中创建一个POST端点,我可以在java.lang.Object类中读取JSON请求体,因为JSON可以是任何东西,我事先不知道架构。即。
@POST
@Consumes({MediaType.APPLICATION_JSON_VALUE})
public void register(Object request) {
}
此解决方案导致运行时错误:
No message body reader has been found for class java.lang.Object, ContentType: application/json
2018-03-10 16:52:49.156 [http-nio-8080-exec-7] ERROR c.i.i.c.w.r.e.JsonProcessingExceptionMapper - af04c2db-9e87-4b69-963d-272caa6b1329 - WebApplicationException: HTTP 415 Unsupported Media Type
javax.ws.rs.WebApplicationException: HTTP 415 Unsupported Media Type
at org.apache.cxf.jaxrs.utils.JAXRSUtils.readFromMessageBody(JAXRSUtils.java:1346)
唯一有效的方法是使用JsonNode对象,但我想避免使用它,因为它会使我的swagger模型与一堆属性混淆。