Thrift:Apache Thrift使用简介:修订间差异

来自WHY42
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]}
}
}
//列表分页查询参数
struct GridArg{
    1:i32 page,        //第几页
    2:i32 rows,        //每页多少条
    3:string sort,    //排序参数     
}
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格式的请求,本方法作为扩展
						 )
}

生成客户端代码

Java服务端

客户端

Java

C#

JavaScript