我使用dropwizard框架在
java中开发了一个web服务.我希望它消耗一个json.
我的服务代码是 –
– 资源等级
@Path(value = "/product")
public class ProductResource{
@POST
@Path(value = "/getProduct")
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
public Product getProduct(InputBean bean) {
// Just trying to print the parameters.
System.out.println(bean.getProductId());
return new Product(1,"Product1-UpdatedValue",1,1);
}
}
– InputBean是一个简单的bean类.
public class InputBean {
private int productId;
private String productName;
public String getProductName() {
return productName;
}
public void setProductName(String productName) {
this.productName= productName;
}
public int getProductId() {
return productId;
}
public void setProductId(int productId) {
this.productId= productId;
}
}
客户代码 –
public String getProduct() {
Client client = Client.create();
WebResource webResource = client.resource("http://localhost:8080/product/getProduct");
JSONObject data = new JSONObject ("{\"productId\": 1,\"productName\": \"Product1\"}");
ClientResponse response = webResource.type(MediaType.APPLICATION_JSON)
.accept(MediaType.APPLICATION_JSON)
.post(ClientResponse.class,data);
return response.getEntity(String.class);
}
我收到一个错误 –
ClientHandlerException
这段代码有什么问题吗?
JSONObject data = new JSONObject ("{\"productId\": 1,\"productName\": \"Product1\"}");
ClientResponse response = webResource.type(MediaType.APPLICATION_JSON)
.accept(MediaType.APPLICATION_JSON)
.post(ClientResponse.class,data);
有人可以指出我可能会缺少什么吗?
客户日志 –