【问题标题】:Request body in post method javapost方法java中的请求正文
【发布时间】:2017-02-17 12:28:45
【问题描述】:

我正在使用 Apache Commons HttpClient Post 方法。在 post 方法中有两种设置请求正文的方法。

1) setRequestBody(NameValuePair [])

2) setRequestEntity(RequestEntity)

在我的例子中,上述方法的输入是 json 对象。如何将 json Object 作为 requestBody 发送?

【问题讨论】:

  • 请提供更多详情

标签: java post httpclient


【解决方案1】:

您需要使用第二个选项:

httpPost.setHeader("Accept", "application/json");
httpPost.setHeader("Content-type", "application/json");

String json = "{ \"key\" : \"value\" }";
StringEntity entity = new StringEntity(json);
httpPost.setEntity(entity);

【讨论】:

  • 但我无法得到正确的响应消息。我通过票作为一个参数。当我使用邮递员发布此内容时,它工作正常,但在这里我收到错误消息,提示票证无效。我不知道我哪里错了。
  • @kushi 如果您需要任何具体帮助,您必须添加更多信息。发布您的代码,特别是您发送和接收的内容,以及错误在哪里。
  • 我使用 setParameter 方法在 setEntity 方法之前设置一些参数。当我在 URL 中附加参数而不使用 setParameter 方法时,我得到响应。但是当我使用这种方法时,我得到的错误是我给出的参数有问题。示例: someurl/parama="avalue"&paramb="bvalue"&paramc="cvalue" 如果我​​沿 url 提供参数它的工作但是当我使用 setParamter("parama","avalue") 设置时,我得到一个错误,说 parama 不正确.我说清楚了吗?
  • 那就用行之有效的方式吧——为什么要让事情变得比必要的复杂?
猜你喜欢
  • 1970-01-01
  • 2022-01-07
  • 2019-03-29
  • 2010-10-31
  • 2020-10-19
  • 2012-03-10
  • 2015-08-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多