有没有办法将实体读作jax-rs客户端?

时间:2015-11-30 12:51:36

标签: web-services rest jax-rs resteasy rest-client

我刚刚创建了一个jax-rs服务,我正在尝试将我从服务中获得的String转换为实体。虽然使用jax-rs一切都是在服务器端自动完成的,但我认为有可能在客户端进行,但我找不到它。

public class MyClient {

    public static void main(String[] args) {
        ResteasyClient client = new ResteasyClientBuilder().build();
        ResteasyWebTarget target = client.target("http://localhost:8080/restapp/api/paints/1");
        Response response = target.request().get();
        Paint values = response.readEntity(Paint.class);
        response.close();
    }
}

这给了一个e:

Exception in thread "main" javax.ws.rs.ProcessingException: RESTEASY003145: Unable to find a MessageBodyReader of content-type application/json and type class client.Paint

(适用于String)。

2 个答案:

答案 0 :(得分:1)

您需要添加JSON提供程序。对于RESTeasy,您可以看到this link并选择您的版本,并添加依赖项。

<dependency>
    <groupId>org.jboss.resteasy</groupId>
    <artifactId>resteasy-jackson2-provider</artifactId>
    <version>${resteasy3.version}</version>
</dependency>

答案 1 :(得分:1)

您好,您可以编写ReastEasy或Jersy客户端,以便从您的服务中获取Json。 如何编写客户端,您可以关注:http://entityclass.in/rest/jerseyClientGetXml.htm