vasilukwolf/php-lion

为 Guzzle REST API 的客户端实现示例

dev-master 2020-09-06 10:45 UTC

This package is auto-updated.

Last update: 2024-09-06 20:19:18 UTC


README

使用 Guzzle 的 REST API 的客户端实现示例。

API 传奇

您需要编写集成到 https://api.example.org 的集成,该集成允许您请求用户数据并在第三方系统中更新它。最初,我们请求用户数据,然后更改一些凭证(姓名和锁定标志,他们的权利),并将结果发送到集成系统。

授权

要与 api 一起工作,您必须首先登录到地址 https://api.example.org/auth

  • GET 方法
  • 登录并传递参数
  • 其中 login=test, pass=12345

结果将是一个包含 token 的 json

回答

{
   "status":"OK",
   "token":"dsfd79843r32d1d3dx23d32d"
}

获取用户数据

API 还提供在地址 https://api.example.org/get-user/{username}?token={token} 获取用户数据的能力

  • GET 方法
  • username = muffin
  • token = 授权期间收到的 token

结果将是一个包含用户数据的 json

回答

{
   "status":"OK",
   "active":"1",
   "blocked":false,
   "created_at":1587457590,
   "id":23,
   "name":"Ivanov Ivan",
   "permissions":[
      {
         "id":1,
         "permission":"comment"
      },
      {
         "id":2,
         "permission":"upload photo"
      },
      {
         "id":3,
         "permission":"add event"
      }
   ]
}

发送用户数据

API 还提供在地址 https://api.example.org/user/{user-id}/update?token={token} 更新用户数据的能力

  • POST 方法
  • 请求体
{
   "active":"1",
   "blocked":true,
   "name":"Petr Petrovich",
   "permissions":[
      {
         "id":1,
         "permission":"comment"
      }
   ]
}

回答

{
   "status":"OK"
}

对于每个请求,除了标准的 HTTP 响应代码之外,还有一个额外的参数 "status",它表示操作的成功

  • OK - 成功
  • 未找到 - 用户未找到
  • 错误 - 任何错误