RS客户端返回null的实体

我有一个像这样定义的JAX-RS服务:

@Produces(MediaType.APPLICATION_JSON)
@GET
@Path("/namestartswith")
public List<ProductBrand> nameStartsWith(@QueryParam("name") String name) {
    List<ProductBrand> productBrandList = productBrandService.findByNameStartsWith(name);
    System.out.println("productBrandList: " + productBrandList);
    return productBrandList;
}

发布以下网址:

http://localhost:19191/productbrand/namestartswith?name=f

生产:

{"productBrand":[{"brandImage":"ffbrand.png","description":"the brand called ff","id":"1","name":"ffbrand"},{"brandImage":"flfl.png","description":"flfl","id":"6","name":"flfl"},{"brandImage":"ffbran.png","description":"ffbr","id":"16","name":"ffbran"}]}

这意味着该服务正按预期工作。

现在我使用RestEasy进行客户端访问。

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

以下代码访问服务:

    Client client = ClientBuilder.newClient();
    WebTarget target = client.target("http://localhost:19191/productbrand/namestartswith?name=" + name);
    Response restEasyResponse = target.request(MediaType.APPLICATION_JSON).get();
    log("entity: " + restEasyResponse.readEntity(new GenericType<List<ProductBrand>>() {
    }););

输出是:

实体:null

即使调用restEasyResponse.getEntity()返回null 。 什么可能是错的?


我有一个类似的问题,我用它来解决它: restEasyResponse.readEntity(List.class)

它将返回一个List <Map <String,Object >>,其中每个项表示json数组的一个元素。

链接地址: http://www.djcxy.com/p/82067.html

上一篇: RS client returns entity of null

下一篇: Data Smoothing in R