【问题标题】:How to pass data to a RESTful web service?如何将数据传递给 RESTful Web 服务?
【发布时间】:2015-03-18 19:27:26
【问题描述】:

我正在开发一个 API。我必须在宁静的网络服务上工作。我对它很陌生。我从 API 文档中了解到,我必须将数据传递到特定的 URL。我有所有必要的数据和那个 URL。 但是我没有找到任何方法通过 POST 方法将数据传递给一个安静的网络服务(在那个 URL 上)。

我从 API 文档中了解到这一点:

这是一个 RESTful 设置,通过 HTTPS 使用 JSON 格式传输数据。

谁能帮助我如何通过 POST 方法将数据传递到该 URL?

【问题讨论】:

  • 从你的标签我假设你想用 PHP 实现 API 调用?
  • 是的,兄弟,你是对的。但是我找不到方法,编写此类代码的标准方法是什么!我已经提到了所有信息。
  • 正如我在下面提到的,您可以使用json_encode() 和 cURL 扩展的组合,它允许您向目标地址发送任何类型的 HTTP 请求。或者,您可以选择要使用的库,例如 HTTPfulGuzzle。如果您对 PHP 还不是很熟悉,那么库可能是更适合您的解决方案。
  • 谢谢兄弟。但我很抱歉,我知道 json_encode()。但我不知道,我怎样才能通过使用这些数据、url 来传递和调用网络服务。你能告诉我任何教程链接吗,我在哪里可以通过示例代码得到正确的想法........

标签: php json rest


【解决方案1】:

只需替换

Content-Type: application / json

Content-Type: application / x-www-form-urlencoded

如果您使用的 API 有一个选项。

否则,您仍然可以通过 $_POST 方法访问数据,但以 json 的形式访问数据,则必须使用 json_decode($_POST) 将其转换回数组。

【讨论】:

  • 如果 API 要求您使用 application/json 作为 Content-Type,您真的没有选择“只是替换”它的选项。这对 OP 没有帮助,可能只会增加混乱。
  • @Till Helge,你是对的,但由于没有提到正在使用哪个 REST API、框架或工具,所以我编写了更改 Content-Type 的解决方案,因为它可以在代码或工具中更改如果允许,级别。
  • 你没有抓住重点。他没有实现 REST 接口,他想使用它。他需要向一些 REST API 发送数据。所以他应该使用json_encode() 来打包他需要发送的数据,然后使用例如Curl-Extension 来发送请求。或者只是一些使它更容易的库。我只是现在没有时间详细解释这一点。想做荣誉吗? ;)
  • 谢谢大家。但问题不在于 Content-Type。我想将数据传递到该 url,但我不知道如何将数据传递到该 url。这将返回 JOSN 数据。
猜你喜欢
  • 1970-01-01
  • 2015-06-03
  • 2010-11-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-03-05
相关资源
最近更新 更多