| using System; | 
| using System.Collections.Generic; | 
|   | 
| namespace Top.Api | 
| { | 
|     /// <summary> | 
|     /// TOP请求接口。 | 
|     /// </summary> | 
|     public interface ITopRequest<out T> where T : TopResponse | 
|     { | 
|         /// <summary> | 
|         /// 获取TOP的API名称。 | 
|         /// </summary> | 
|         string GetApiName(); | 
|   | 
|         /// <summary> | 
|         /// 获取被调用的目标AppKey | 
|         /// </summary> | 
|         string GetTargetAppKey(); | 
|   | 
|         /// <summary> | 
|         /// 获取所有的Key-Value形式的文本请求参数字典。 | 
|         /// </summary> | 
|         IDictionary<string, string> GetParameters(); | 
|   | 
|         /// <summary> | 
|         /// 获取自定义HTTP请求头参数。 | 
|         /// </summary> | 
|         IDictionary<string, string> GetHeaderParameters(); | 
|   | 
|         /// <summary> | 
|         ///  获取API请求的用户授权码,仅用于批量API调用请求。 | 
|         /// </summary> | 
|         string GetBatchApiSession(); | 
|   | 
|         /// <summary> | 
|         /// 设置API请求的用户授权码,仅用于批量API调用请求。 | 
|         /// </summary> | 
|         void SetBatchApiSession(string session); | 
|   | 
|         /// <summary> | 
|         /// 获取API在批量调用中的顺序,仅用于批量API调用请求。 | 
|         /// </summary> | 
|         int GetBatchApiOrder(); | 
|   | 
|         /// <summary> | 
|         /// 设置API在批量调用中的顺序,仅用于批量API调用请求。 | 
|         /// </summary> | 
|         void SetBatchApiOrder(int order); | 
|   | 
|         /// <summary> | 
|         /// 客户端参数检查,减少服务端无效调用。 | 
|         /// </summary> | 
|         void Validate(); | 
|     } | 
| } |