我需要调用一个以JSON格式返回以下内容并将它们转换为JAVA对象的API:
out[$num]="${array[index+1]} $file"
我有以下课程:
GET /api/myimpl/?ids=5,12
HTTP 200 OK
Allow: GET, POST, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept
[
{
"id": "A1",
"impl": "HeatSmart"
},
{
"id": "B2",
"impl": "My String"
}
]
在我的代码中,我执行以下操作:
public class QueryStrings {
private String id;
private String impl;
public QueryStrings() {
}
public QueryStrings(String id, String impl) {
this.id = id;
this.impl = impl;
}
public String getId() {
return id;
}
public String getImpl() {
return impl;
}
public void setId(String id) {
this.id = id;
}
public void setImpl(String impl) {
this.impl = impl;
}
}
clientResponse返回状态OK。但是,当我试图将json放入我想要的对象时,最后一行返回错误:
client = ClientBuilder.newClient().register(JacksonFeature.class);
Response clientResponse = client.target(myURL)
.queryParam("ids", "5,12")
.request()
.accept(MediaType.APPLICATION_JSON_TYPE)
.get();
QueryStrings jsonResponse = clientResponse.readEntity(QueryStrings.class);
我的代码缺少什么?
答案 0 :(得分:2)
api
QueryStrings
的{{1}}返回数组,因此您可以GenericType
使用readEntity
List<QueryStrings> results = response.readEntity(new GenericType<List<QueryStrings>>(){});