【问题标题】:Is it possible to create a Restful webservice with POST requests in PHP without using any library?是否可以在不使用任何库的情况下在 PHP 中创建带有 POST 请求的 Restful Web 服务?
【发布时间】:2012-11-17 12:55:21
【问题描述】:

基本要求是知道我们是否可以在请求正文有效负载具有以 json 格式发送的数据时迭代 $_POST,例如

{"City":{"countryCode": "IN","regionCode":"KR"}}

只有当我们发送数据时我们才能访问它

m={"City":{"countryCode": "IN","regionCode":"KR"}}

我们可以使用$_POST['m'] 访问它 Content-Type 设置为默认 application/x-www-form-urlencoded,当我们将其设置为 application/json 时,$_POST 为空/null。

如果我们尝试以 $_POST 而不是 $_POST['m'] 访问它,它会返回 null/empty。

注意:我是 PHP 新手。是否可以在没有任何库的情况下创建 Web 服务。 PHP 可以在不使用任何库的情况下接受带有 json 数据的 post 请求。

【问题讨论】:

  • 库是用php构建的,为什么不能呢?

标签: php json rest post


【解决方案1】:

要获取原始 POST 数据(而不是必须访问单独的 POST 变量,例如 $_POST['m']),您可以使用以下包装器:

$json = file_get_contents('php://input');

如果您有兴趣了解更多关于它们的信息,可以阅读wrappers 上的手册。

【讨论】:

  • @Mike 它可以是 XML 或 JSON 或其他。 POST 数据只是一天结束时的数据。
  • 这个回复是正确的。库不支持像 php 这样的语言具有附加功能,它只是以更友好的方式使用内置功能。只是为了让开发人员的呼吸更轻松。
  • @WayneWhitty 感谢您的快速回复。有用 ! :) 按照建议,应通读包装器手册。
【解决方案2】:

这就是我获取数据并将其保存到我的数据库的方式。

 $return    = array();
 $data      = json_decode(stripslashes($_REQUEST['Data']));

 $email     = $data->{"paramA"};
 $password      = $data->{"paramB"};

我认为它可能会帮助你。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-06
    • 2013-09-20
    • 2013-08-21
    • 2013-01-03
    • 2019-03-19
    相关资源
    最近更新 更多