0
ジャージーを使用してPOSTでPojoを送信します。ジャージーを使用してPOST要求本体に2 PoJosを送信する方法は?
私は2つのジャージーのバージョンがあります理解:私はいくつかの方法を試してみました
compile('com.sun.jersey:jersey-bundle:1.19')
compile('com.sun.jersey:jersey-json:1.19')
compile group: 'org.codehaus.jackson', name:'jackson-jaxrs', version: '1.1.1'
:私は使用して既存のプロジェクトにコードを追加している1 ... 2 ...
は、 POST要求本体に2つのPoJosを送信します。
しかし、いずれも機能しませんでした。
public void acquireDevice1(Device device, int port) throws InvalidArgumentException {
WebResource webResource = this.client.resource(this.rootUri);
webResource.type(MediaType.APPLICATION_JSON)
.accept(MediaType.APPLICATION_JSON)
.post(Device.class, device)
.post(Integer.class, port);
}
と
@Override
public void acquireDevice(Device device, int port) throws InvalidArgumentException {
ObjectMapper mapper = new ObjectMapper();
String deviceString = null;
try {
deviceString = mapper.writeValueAsString(device);
} catch (IOException e) {}
Client client = Client.create();
WebResource webResource = client.resource(rootUri + "/devices/acquireDevice/");
ClientResponse response = webResource
.type("application/json")
.post(ClientResponse.class, deviceString);
if (response.getStatus() != 201) {
throw new RuntimeException("Failed : HTTP error code : "
+ response.getStatus());
}
}
私はmap<string,object>
でそれをすべてをラップする必要がありますか?