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