Thrift:Apache Thrift使用简介:修订间差异
imported>Soleverlee 以“Tirift可以下载预编译的thrift.exe,进行开发时,首先定义接口文件,例如下面这个: <source lang="c"> namespace cpp riguz namespace java...”为内容创建页面 |
imported>Soleverlee 无编辑摘要 |
||
第1行: | 第1行: | ||
=定义thrift服务= | |||
[[Tirift]]可以下载预编译的thrift.exe,进行开发时,首先定义接口文件,例如下面这个: | [[Tirift]]可以下载预编译的thrift.exe,进行开发时,首先定义接口文件,例如下面这个: | ||
<source lang="c"> | <source lang="c"> | ||
第13行: | 第14行: | ||
//{result:[1,2,3,4]} | //{result:[1,2,3,4]} | ||
} | } | ||
service RiguzService{ | service RiguzService{ | ||
//PING请求,用来测试服务器是否就绪,当服务器维护时,返回错误信息 | //PING请求,用来测试服务器是否就绪,当服务器维护时,返回错误信息 | ||
第32行: | 第25行: | ||
3:string userAgent //登录附言,用来标致客户端信息 | 3:string userAgent //登录附言,用来标致客户端信息 | ||
), | ), | ||
//注销请求 | //注销请求 | ||
CommonResponse logout(1:string token //客户端token | CommonResponse logout(1:string token //客户端token | ||
), | ), | ||
//跳转交易请求 | //跳转交易请求 | ||
//result: {trans:'office', panel:'abc.xml'}(返回交易的主界面文件名,例如XUI) | //result: {trans:'office', panel:'abc.xml'}(返回交易的主界面文件名,例如XUI) |
2015年4月24日 (五) 08:41的版本
定义thrift服务
Tirift可以下载预编译的thrift.exe,进行开发时,首先定义接口文件,例如下面这个:
namespace cpp riguz
namespace java riguz.thrift.def
namespace csharp riguz
//通用响应消息体
struct CommonResponse{
1:bool success //调用是否成功
2:string jsonResult //调用成功,返回响应信息;调用失败,返回错误信息
//具体返回的信息根据请求方法不同而不同
//eg:{result:'abc'} {result:'接口调用失败!'}
//{result:[1,2,3,4]}
}
service RiguzService{
//PING请求,用来测试服务器是否就绪,当服务器维护时,返回错误信息
//result: OK
CommonResponse ping(),
//登录请求,返回一个token及过期时间
//result: {token:'5A3486D5-4657-287A-D3C6-2E36D97607D8',expires_in:3600}
CommonResponse login(1:string user, //用户名
2:string passwd, //密码
3:string userAgent //登录附言,用来标致客户端信息
),
//注销请求
CommonResponse logout(1:string token //客户端token
),
//跳转交易请求
//result: {trans:'office', panel:'abc.xml'}(返回交易的主界面文件名,例如XUI)
// {trans:'office', panel:'<xml?>...</xml>'}(返回交易的主界面的XML)
CommonResponse chain(1:string token, //客户端token
2:string name //交易名称,为空则返回当前交易名称
),
//预留拓展接口,用来处理其他自定义的请求
//请求及返回均以JSON格式返回
CommonResponse doJson(1:string request //JSON格式的请求,本方法作为扩展
)
}