3

我有一个网络服务,我想通过 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 数据?

4

1 回答 1

1

要接受输入数据,您的方法需要声明它消耗的不是产生的。

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),因为这些用户指南可能会有示例。

于 2012-10-01T06:32:19.030 回答