[英]How to send a POST request to a REST webservice and send JSON?
我有一个web服务,我想通过POST方法向它发送一个JSON字符串。 到目前为止,我所使用的Web服务使用了GET
方法,看起来像这样:
@GET
@Produces("application/json")
@Path("{name}")
public String getJson(@PathParam("name") String name) {
//TODO return proper representation object
CompanyDatabase cmpdb=new CompanyDatabase();
String json=cmpdb.searchAgent(name);
return json;
}
我需要对此方法进行哪些更改才能接受POST数据?
要接受输入数据,您的方法需要声明它消耗的不产生的内容。
import javax.ws.rs.Consumes;
import javax.ws.rs.POST;
import javax.ws.rs.core.MediaType;
@POST
@Consumes(MediaType.APPLICATION_JSON)
public void acceptsCustomer(Customer c) {
// .. do something with the input.
}
需要正确注释Customer类以将JSON转换为Java POJO。 将JAX-RS常量用于MediaTypes是一种很好的做法。
您还应该查阅JAX-RS提供程序的文档(例如:RESTEasy或Jersey),因为这些用户指南可能会有示例。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.