繁体   English   中英

如何将POST请求发送到REST Web服务并发送JSON?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM