当前位置: 首页 > 知识库问答 >
问题:

是否可以使用带有JSON反序列化的Quarkus REST客户机而不使用RESTEasy服务器?

吉俊德
2023-03-14

我有一个小型Quarkus应用程序的用例,它必须能够调用RESTendpoint,但它本身不应该运行web服务器。

<dependency>
    <groupId>io.quarkus</groupId>
    <artifactId>quarkus-rest-client</artifactId>
</dependency>
<dependency>
    <groupId>io.quarkus</groupId>
    <artifactId>quarkus-jackson</artifactId>
</dependency>
WARN  [io.qua.res.com.dep.ResteasyCommonProcessor] (build-11) Quarkus detected the need of REST JSON support but you have not provided the necessary JSON extension for this. You can visit https://quarkus.io/guides/rest-json for more information on how to set one.
...
ERROR [...] ProcessingException while creating reply for journey details request: RESTEASY003145: Unable to find a MessageBodyReader of content-type application/json and type class X.
<dependency>
    <groupId>io.quarkus</groupId>
    <artifactId>quarkus-rest-client</artifactId>
</dependency>
<dependency>
    <groupId>io.quarkus</groupId>
    <artifactId>quarkus-resteasy-jackson</artifactId>
</dependency>

REST客户端Jackson反序列化工作,但它也启动了一个web服务器。

是否有一种方法可以在REST客户机上支持Jackson反序列化,而无需运行RESTEasy web服务器?

选项1:我可以为此包含特定的依赖关系吗?我分别使用了quarkus-resteasy-jackson的依赖项,但没有让它起作用。

共有1个答案

姬朗
2023-03-14

您还缺少一个额外的依赖项,即resteasy-jackson2-provider,下面是应该工作的库组合:

    <dependency>
      <groupId>io.quarkus</groupId>
      <artifactId>quarkus-rest-client</artifactId>
    </dependency>
    <dependency>
      <groupId>io.quarkus</groupId>
      <artifactId>quarkus-jackson</artifactId>
    </dependency>
    <dependency>
      <groupId>org.jboss.resteasy</groupId>
      <artifactId>resteasy-jackson2-provider</artifactId>
    </dependency>

P.S.正如Ken在下面的注释中指定的,此选项不适用于本机映像

 类似资料:
  • 在使用Gson的fromJson方法时,是否有任何方法可以使用给定类的set方法? 我之所以这样做,是因为对目标类的每个

  • 我有一个包含映射属性的json字符串,如 当Jackson将其反序列化到包含an属性的类中时,它似乎执行了。而在序列化时,它将把对象序列化为相同的格式。 是否有一种方法让jackson正确反序列化到一个只有注解的映射中,或者我需要做一个自定义序列化器。 带有getter/setter的示例对象:

  • 我正在使用C#的“Google. Apis. Bigquery. v2客户端库”。 我授权使用“服务帐户”搜索BigQuery(请参阅http://www.afterlogic.com/mailbee-net/docs/OAuth2GoogleServiceAccounts.html). 要创建X509证书,我使用Google开发者控制台中的p12密钥。然而,现在json键是默认的。我可以用它来代

  • 问题内容: 使用Gson的方法时,可以使用某种给定类的set 方法吗? 我想这样做是因为对于目标类的每个全局变量都会进行修剪。 为此有任何GSON API注释吗? 我知道GSON提供了编写自定义序列化器/反序列化器的功能,但我想知道是否还有另一种方法可以实现此目的。 问题答案: 我实施了并在上注册了。因此,对于收到的所有String字段,Gson将使用my 反序列化该值。 下面是我的代码: …以及

  • 问题内容: 我有一个发送到服务器或从服务器发送的用户对象。发送用户对象时,我不想将哈希密码发送给客户端。因此,我添加了password属性,但这也阻止了将其反序列化为密码,这使得在没有密码的情况下很难注册用户。 我怎样才能只应用序列化而不是反序列化?我使用的是Spring JSONView,因此对的控制不多。 我尝试过的事情: 添加到属性 仅添加getter方法 问题答案: 确切的操作方法取决于你

  • 我想在java上创建一个客户机/服务器应用程序,服务器的IP地址为192.168.1.100,在端口4500上等待客户机请求。 客户端从键盘上读取字符串,向服务器发送连接请求。一旦建立了连接,它就会将字符串发送到服务器。 这是我尝试的代码: 对于服务者: 对于客户端: 但这段代码有一个问题: