我是 Java EE 的新手,正在尝试编写 GET 服务。要从 Web 服务获取值,我需要将主键作为参数发送到服务。我在服务器端的参数值上得到一个空值。我知道我在这里缺少一些基本的东西。
客户端 Junit 测试
//VehicleList
service = client.resource(UriBuilder.fromUri(
"http://localhost:8081/mCruiseOnCarPool4All/carpool4all/VehicleList/Request").build());
service.setProperty("identityHash", identityHash) ;
VehicleDetailsConcrete[] vehicleList = service.type(MediaType.APPLICATION_JSON).get(
VehicleDetailsConcrete[].class);
assertNotNull(vehicleList) ;
assertTrue(vehicleList.length > 0) ;
服务器端服务
@GET
@Path ("Request")
@Produces({ MediaType.APPLICATION_JSON })
public Response getVehicleList(@PathParam("identityHash") String identityHash) {
VehicleListRequest request = new VehicleListRequest(identityHash) ;
VehicleListResponse response ;
clientSession = sessionManager.getClientSession(identityHash) ;
clientSession.getSendQueue().sendRequest(request) ;
try {
response = (VehicleListResponse)clientSession.waitAndGetResponse(request) ;
} catch (WaitedLongEnoughException e) {
return Response.serverError().build() ;
} catch (UnableToResolveResponseException e) {
return Response.serverError().build() ;
};
return Response.ok(response).build();
}
getVehicleList 中的 identityHash 为空
我正在使用 setProperty,假设它会执行 setParam。我确定这就是我所缺少的。一个 setParameter 有点像调用。