在 PHP 中调用 REST API

新手上路,请多包涵

我们的客户给了我一个 REST API,我需要对其进行 PHP 调用。但事实上,API提供的文档非常有限,所以我真的不知道如何调用服务。

我试过用谷歌搜索它,但唯一出现的是一个已经过期的雅虎!关于如何调用服务的教程。没有提到标题或任何深入的信息。

关于如何调用 REST API 或有关它的一些文档,是否有任何体面的信息?因为即使在 W3schools 中,它们也只描述 SOAP 方法。在 PHP 中制作 API 的其余部分有哪些不同的选择?

原文由 Michiel 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 2.2k
2 个回答

您可以使用 PHP cURL 扩展访问任何 REST API。但是,API 文档(方法、参数等)必须由您的客户提供!

例子:

 // Method: POST, PUT, GET etc
// Data: array("param" => "value") ==> index.php?param=value

function CallAPI($method, $url, $data = false)
{
    $curl = curl_init();

    switch ($method)
    {
        case "POST":
            curl_setopt($curl, CURLOPT_POST, 1);

            if ($data)
                curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
            break;
        case "PUT":
            curl_setopt($curl, CURLOPT_PUT, 1);
            break;
        default:
            if ($data)
                $url = sprintf("%s?%s", $url, http_build_query($data));
    }

    // Optional Authentication:
    curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
    curl_setopt($curl, CURLOPT_USERPWD, "username:password");

    curl_setopt($curl, CURLOPT_URL, $url);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);

    $result = curl_exec($curl);

    curl_close($curl);

    return $result;
}

原文由 Christoph Winkler 发布,翻译遵循 CC BY-SA 3.0 许可协议

使用 Postman ,您可以生成代码来调用大多数语言的 API,包括 PHP 。以下是步骤:

步骤1

Use Postman UI to specify your API call specifications, ie, URL , method , headers , parameters , body 等等。

在此处输入图像描述

第2步

在最右侧,有一个小按钮,您可以通过它查看生成的代码。

在此处输入图像描述

第 3 步

从下拉列表中选择您喜欢的语言(和库),然后出发!

在此处输入图像描述

原文由 Xhuljo 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题