【发布时间】:2016-02-10 18:19:11
【问题描述】:
我一直在寻找有关 REST API 的类似主题,但我的项目仍然有些困惑,主要是 PHP 方面的问题。
USPS 提供了一个 REST API,其中包含可通过 URL 调用的函数,如下所示:https://epfws.usps.gov/ws/resources/epf/login
要成功进行任何调用,我被告知必须创建一个 JSON 对象并将其作为具有预期值的“POST 参数”传递。
这是本例需要传递的 JSON 对象:
obj=
{
"login":"loginExample",
"pword":"passwordExample"
}
我还获得了一个应该管理这些调用的 PHP 类。这是登录功能:
public function login ()
{
// Set up the parameters for a login attempt
$jsonData = array(
'login' => $this->loginUser,
'pword' => $this->loginPass,
);
// Make a login request
$jsonResponse = $this->pullResource
('/epf/login', 'POST', $jsonData);
return $jsonResponse;
}
所以我对此有几个问题:
-
他们发送的文件说
“为了进行请求调用,出于安全原因,需要使用内容类型“application/x-www-form-urlencoded”创建 JSON 对象并将其作为 POST 表单参数 obj={jsonObject} 传递。”
我知道登录函数包含 USPS 的 REST API 所需的正确输入值,但我不确定如何将它们作为“obj”传递,或者如何应用“内容类型”。
-
我在 PHP 脚本的顶部定义了一个“常量”,如下所示:
const EPF_BASE_URL = 'https://epfws.usps.gov/ws/resources';
我注意到在实际函数中,这部分链接被遗漏了,它们只是引用'/epf/login',如您在上面看到的。由于 "$this" 包含许多不同的值,我想知道它应该如何根据需要找到 EPF_BASE_URL。是否类似于 C# 中“使用”指令的工作方式?
调用此函数并显示结果的最简单方法是什么?这是我最大的问题。我会使用带有 HTML 表单的单独 PHP 类吗?我理解它应该做什么的概念,但我完全迷失了为它设置开发环境。
我一直在用 MAMP 尝试所有这些,但很想知道我是否走在正确的轨道上。
【问题讨论】: