vasilukwolf / php-lion
为 Guzzle REST API 的客户端实现示例
dev-master
2020-09-06 10:45 UTC
Requires
- php: ^7.2
- ext-json: *
- guzzlehttp/guzzle: ^7.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2.16
- overtrue/phplint: ^2.0
- phpunit/phpunit: ^8.5
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 - 成功
- 未找到 - 用户未找到
- 错误 - 任何错误