尝试创建REST时会遇到异常堆栈跟踪
org.jboss.resteasy.core.NoMessageBodyWriterFoundFailure:找不到类型的响应对象的MessageBodyWriter:媒体类型的java.lang.Boolean: application / octet-stream 在org.jboss.resteasy.core.ServerResponseWriter.writeNomapResponse(ServerResponseWriter.java:67) at org.jboss.resteasy.core.SynchronousDispatcher.writeResponse(SynchronousDispatcher.java:448) 在org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:397) 在org.jboss.resteasy.core.AsynchronousDispatcher.invoke(AsynchronousDispatcher.java:253) 在org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:200)
我在stackoverflow和外部的其他帖子中尝试了多个建议,包括 1.确保有'resteasy-jaxb-provider-3.0.12.Final.jar'和抛弃提供商的罐子 即使有其中任何一个而不是两个 3.改变其他jaxrs jar版本
直到现在我能够得出结论:
如果您仔细检查错误,即使在服务元数据中我已经定义了'application / json',我也无法找到'application / octec-stream'。所以我不知道为什么应用程序无法获取json解析器
@Path("/api/ver1.0/lock")
public interface LockingService {
/**
* Interface method to request a single lock.
*
* @param lockRequest
* lockRequest
* @return Boolean
*/
@POST
@Path("/request")
@Consumes("application/json")
Boolean requestLock(LockRequest lockRequest);
除了resteasy jars的版本之外,我可以使用相同的代码工作,例如
工作
resteasy-jackson-provider-2.3.1.GA.jar
resteasy-jaxb-provider-2.3.1.GA.jar
resteasy-jaxrs-2.3.1.GA.jar
resteasy-jettison-provider-2.3.1.GA.jar
resteasy-multipart-provider-2.3.1.GA.jar
resteasy-spring-2.3.1.GA.jar
scannotation-1.0.3.jar
不工作
resteasy-jackson-provider-3.0.12.Final.jar
resteasy-jaxb-provider-3.0.12.Final.jar
resteasy-jaxrs-3.0.12.Final.jar
resteasy-multipart-provider-3.0.12.Final.jar
resteasy-spring-3.0.12.Final.jar
欢迎任何帮助。