TuGraph-Restful-Server
TuGraph Restful Server 强依赖 TuGraph,Restful Server 与 Tugraph 共存
1.TuGraph-Restful-Server 简介
TuGraph Restful Server 使用brpc框架支持的http协议,提供restful接口查询功能,在实现中,restful server 与rpc server 使用同一个端口。目前restful接口提供文件上传,数据导入,导入进度查询,cypher查询,文件删除等功能
2.启动 TuGraph-Restful-Server
需要在启动Tugraph时设置enable_rpc参数为true的方式,正常启动TuGraph
3.连接 TuGraph-Restful-Server
TuGraph正常启动后,Restful Server 将监听在rpc_port上, 通过访问 http://${ip}:${rpc_port}/LGraphHttpService/Query/ url可以链接到TuGraph
4.数据格式
客户端与服务端数据交互的格式是 JSON。在发送请求时,请将发送数据的请求的报头设置为 Accept:application/json, Content-Type:application/json。
例如在创建一个点时,请求报头包含以下内容:
Accept: application/json; charset=UTF-8
Content-Type: application/json
server_version: 12
5.返回值
通用返回格式
| body参数 | 参数说明 | 参数类型 | 是否必填 |
|---|---|---|---|
| errorCode | 状态码 | 字符串 | 是 |
| errorMessage | 错误信息 | 字符串 | 是 |
| data | 返回的数据 | 字符串 | 是 |
TuGraph 返回的 HTTP 状态码包含以下四种:
- 200 OK: 操作成功
- 400 Bad Request: 输入有误,例如 URI 错误,或者请求中的 JSON 参数错误
- 401 Unauthorized: 未通过鉴权认证,例如用户名密码错误,token超过有效期等
- 500 Internal Server Error: 服务器端错误 当操作成功时,返回的 data 中包含操作的返回值。 当发生输入错误或者服务器错误时,返回的 errorMessage 中包含错误提示。
6.URI格式
| URI | 说明 |
|---|---|
| /cypher | 执行cypher查询请求 |
| /refresh | 刷新token请求 |
| /login | 用户登陆请求 |
| /logout | 用户登出请求 |
| /upload_files | 上传文件请求 |
| /clear_cache | 清理用户上传文件请求 |
| /check_file | 文件认证请求 |
| /import_data | 数据导入请求 |
| /import_progress | 导入进度查询请求 |
| /import_schema | 批量创建schema请求 |
7.接口
7.1 用户登陆
用于用户第一次与服务端通信时的鉴权操作,请求报文在 http body 中携带用户名和密码,响应报文在 http body 中会返回一个带有有效期的token,后续请求中需要在http header中携带该token作为凭证
7.1.1 URL
http://${ip}:${rpc_port}/LGraphHttpService/Query/login
7.1.2 REQUEST
| body参数 | 参数说明 | 参数类型 | 是否必填 |
|---|---|---|---|
| userName | 用户名 | 字符串 | 是 |
| password | 密码 | 字符串 | 是 |
7.1.3 RESPONSE
| body参数 | 参数说明 | 参数类型 | 是否必填 |
|---|---|---|---|
| authorization | token | 字符串 | 是 |
7.2 刷新token
token到期后将无法使用此token与服务端正常通信,需要获取新的token作为后续请求的凭证,请求报文在http header中携带旧的token,响应报文在http body中返回新的token
7.2.1 URL
http://${ip}:${rpc_port}/LGraphHttpService/Query/refresh
7.2.2 REQUEST
| header参数 | 参数说明 | 参数类型 | 是否必填 |
|---|---|---|---|
| Authorization | 旧的token | 字符串 | 是 |