开始使用
本章节包含开始使用通用 REST API 的实用指南。
假设我们需要通过 REST API 获取应用程序中有关 users 的信息。
首先,按照 扩展组件安装 章节添加 REST API 组件,然后启动应用程序。
允许用户使用 REST API
当使用 REST API 与应用程序交互时,总是以某一特定用户的身份进行操作。因此,我们需要授予该用户通过 API 访问应用程序的能力。
需要将预定义的 REST: minimal access
角色(编码为 rest-minimal
)分配给要使用 API 交互的用户。admin
用户已经具有 system-full-access
角色携带的所有权限,因此无需给 admin
用户分配。
身份验证
示例中,我们将使用 curl
命令行工具与 REST API 交互。
在通过 API 加载数据或给 API 发送数据之前,我们首先需要登录或者说进行 Authentication request(验证请求)
。用下面的 cURL
命令完成请求:
curl -X POST http://localhost:8080/oauth/token \
--basic --user client:secret \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "grant_type=password&username=admin&password=admin"
如果是 Windows 系统,需要删除 \ 符号,将命令写成一行。
|
HTTP 200
表示请求成功,返回体中包含一个 JSON,带有身份验证请求的结果:
HTTP/1.1 200
{
"access_token": "zmSIwB4_9he68yrNsHC5N1agktA",
"token_type": "bearer",
"refresh_token": "Tm3_v0T-eeYS6URZgoi4e_r-ub8",
"expires_in": 31535999,
"scope": "rest-api",
"OAuth2.SESSION_ID": "5C46CDF266E8C8C15372887830B74F59"
}
access_token
属性值是用户 token,可作为请求头中的 Authorization
参数使用进行后续其他请求。Token 作为临时凭证,授予你代表用户访问应用程序的权限。
获取实体列表
使用 access token 就可以继续使用通用 REST API 接口获取用户列表(将 <access_token>
替换成上一步获取到的 token 值)。这里,我们通过 API 获取应用程序中当前所有的用户:
curl -X GET http://localhost:8080/rest/entities/User \
-H "Authorization: Bearer <access_token>"
响应中包含应用程序中所有的用户:
HTTP/1.1 200
[
{
"_entityName": "User",
"_instanceName": " [admin]",
"id": "60885987-1b61-4247-94c7-dff348347f93",
"version": 1,
"active": true,
"username": "admin"
}
]
本页是否有帮助?
感谢您的反馈