Javax Jersey 客户端处理异常

Javax Jersey client processingException

我有一个 Maven jersey 服务器,它向我的 JavaFX 客户端发送 json 个对象,在我的服务器中我有模型 classes,它有字符串和 int,在客户端模型中 class 我尝试使用 String属性 和 IntegerProperty(用于绑定,我有适当的 getter 和 setters(setter = name.set("example"), getter = return name.get)) 但是当我这样做时我得到

前端和后端都有 JSON 作为媒体类型,当我将客户端模型 class 变量更改为 String 和 Int 时,一切正常,因为 expected.I 希望找到一种方法来保持 属性 的字符串和 int 的绑定方法,我尝试 google 但似乎没有其他人遇到过这个问题,有谁知道可以解决这个问题并让我使用 属性 的变量

我发现了异常 处理异常 e

e.getCause(): 空

e.getMessage():

MessageBodyReader not found for media type=application/json, type=interface java.util.List, genericType=java.util.List<models.Users>.
[org.glassfish.jersey.message.internal.ReaderInterceptorExecutor$TerminalReaderInterceptor.aroundReadFrom(ReaderInterceptorExecutor.java:207), org.glassfish.jersey.message.internal.ReaderInterceptorExecutor.proceed(ReaderInterceptorExecutor.java:139), org.glassfish.jersey.message.internal.MessageBodyFactory.readFrom(MessageBodyFactory.java:1109), org.glassfish.jersey.message.internal.InboundMessageContext.readEntity(InboundMessageContext.java:853), org.glassfish.jersey.message.internal.InboundMessageContext.readEntity(InboundMessageContext.java:812), org.glassfish.jersey.client.ClientResponse.readEntity(ClientResponse.java:309), org.glassfish.jersey.client.JerseyInvocation.translate(JerseyInvocation.java:813), org.glassfish.jersey.client.JerseyInvocation.access0(JerseyInvocation.java:90), org.glassfish.jersey.client.JerseyInvocation.call(JerseyInvocation.java:693), org.glassfish.jersey.internal.Errors.process(Errors.java:315), org.glassfish.jersey.internal.Errors.process(Errors.java:297), org.glassfish.jersey.internal.Errors.process(Errors.java:228), org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:422), org.glassfish.jersey.client.JerseyInvocation.invoke(JerseyInvocation.java:689), org.glassfish.jersey.client.JerseyInvocation$Builder.method(JerseyInvocation.java:405), org.glassfish.jersey.client.JerseyInvocation$Builder.get(JerseyInvocation.java:301), Repository.UserRepo.getUsers(UserRepo.java:55), cleaner.Cleaner.start(Cleaner.java:35), com.sun.javafx.application.LauncherImpl.lambda$launchApplication12(LauncherImpl.java:863), com.sun.javafx.application.PlatformImpl.lambda$runAndWait5(PlatformImpl.java:326), com.sun.javafx.application.PlatformImpl.lambda$null3(PlatformImpl.java:295), java.security.AccessController.doPrivileged(Native Method), com.sun.javafx.application.PlatformImpl.lambda$runLater4(PlatformImpl.java:294), com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95), com.sun.glass.ui.win.WinApplication._runLoop(Native Method), com.sun.glass.ui.win.WinApplication.lambda$null8(WinApplication.java:191), java.lang.Thread.run(Thread.java:745)]

当我 运行 获取后端工作的邮递员方法时,这告诉我它与客户端有关。

客户: 玻璃鱼 4.1 泽西岛 2.5.1 (JAX-RS RI) javax.ws.rs-api-2.0.1

服务器: 玻璃鱼 4.1 球衣 2.26-b03

提前致谢!

将以下依赖项添加到您的客户端以提供 MessageBodyReader 实现,该实现知道如何将传入的 JSON 字符串反序列化为 Users 的实例。

<dependency> 
  <groupId>com.fasterxml.jackson.jaxrs</groupId> 
  <artifactId>jackson-jaxrs-json-provider</artifactId> 
  <version>2.4.4</version> 
</dependency>