jav*_*irl 5 java rest jax-rs jersey
我试图通过GET方法发送List.
这是我的服务器端:
@GET
@Produces(MediaType.APPLICATION_JSON)
public List<User> getUsers(){
return managment.getUsers();
}
Run Code Online (Sandbox Code Playgroud)
而我的客户方:
public static void getUsers(){
try {
ClientConfig clientConfig = new DefaultClientConfig();
clientConfig.getFeatures().put(JSONConfiguration.FEATURE_POJO_MAPPING, Boolean.TRUE);
Client client = Client.create(clientConfig);
WebResource webResource = client
.resource("http://localhost:8080/Serwer07/user");
ClientResponse response = webResource.accept("application/json")
.get(ClientResponse.class);
if (response.getStatus() != 200) {
throw new RuntimeException("Failed : HTTP error code : "
+ response.getStatus());
}
List users = response.getEntity(List.class);
User user = (User) users.get(0); //cannot cast
e.printStackTrace();
}
}
Run Code Online (Sandbox Code Playgroud)
我有从Java Object到User的强制转换问题.我该如何发送此列表?
提前致谢.
使用GenericType.
List<User> users = webResource.accept(MediaType.APPLICATION_JSON)
.get(new GenericType<List<User>>() {});
Run Code Online (Sandbox Code Playgroud)
UPDATE
ClientResponse也会使getEntity超载以接受GenericTypes.
List<User> users = response.getEntity(new GenericType<List<User>>() {});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2056 次 |
| 最近记录: |