我有一个网络服务,我想通过 POST 方法向它发送一个 JSON 字符串。
到目前为止,我制作的网络服务使用 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。最好为 MediaType 使用 JAX-RS 常量。
您还应该查阅 JAX-RS 提供程序(例如:RESTEasy 或 Jersey)的文档,因为这些用户指南可能会有示例。
关于java - 如何向 REST 网络服务发送 POST 请求并发送 JSON?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12549839/