MicroZeroApi规范

14 篇文章 0 订阅
12 篇文章 0 订阅

API规范

1. 调用方式

Http restful

2. Http Method

GET/POST

3. 参数

采用小驼峰命名规则,文字编码为UTF8,支持内容

传参方式

尽量使用 Url参数 \ Form \Json中的一种方式传递

Json应通过Http协议中的Context写入

系统内部接收规则

  • 如果存在Json,则Form与Url参数作为扩展参数(参见GlobalContext说明)处理
  • Form与Url参数
    系统先接收Url参数再接收Form参数,所以如果在两处都存在的同名参数,以Form提交的为准
    如Url为:
http://www.microzero.club/Demo/api/v1/test?name=agebull&nike=niu

Form为

name=ab&title=hutian

解析结果为

{
	"name" : "ab",
	"nike" : "niu",
	"title": "hutian"
}
固定参数:
  • sign:验签(HTTP不需要)
  • token:令牌即用户标识,可能是登录用户的交易标识,也可能是未登录用户的设备标识
  • timestamp:UNIX时间戳
4. 返回值
C#JSON类型说明
RequestIdrequestIdstringAPI请求标识
OperatorIdoperatorIdstringAPI操作标识
Successsuccessbool成功或失败标记
ResultDatadataobjectAPI请求返回的个性数据,可以是一个单值,也可以是一个对象
StatusstatusOperatorStatusAPI状态返回接口实现
说明:
  1. success(必有) 标明操作是否成功
  2. data是否出现有两个前提,首先要API接口定义有返回值,其次在success为true时返回数据。如需要在success为false也返回数据时,请在API接口文档中着重说明。
  3. status在success为false时必须有值,为true时需要状态的话,请在API接口文档中着重说明
Status
C#JSON类型标题说明示例
GuideCodeguidestring指导码内部使用:指示下一步应如何处理的代码retry
Describedescribestring内部错误说明详细说明错误内容系统未就绪
Pointpointstring错误点系统在哪一个服务节点发生错误gateway
ErrorCodecodeint错误码参见 ErrorCode 说明-1
HttpCodehttpstringHTTP错误码参考性使用404
ClientMessagemsgstring提示信息给用户显示的消息内容你的数据不正确
ErrorCode
标题名称数值
正确Success0
发生异常LocalException-1
逻辑错误LogicalError-2
远端错误RemoteError-3
本地错误LocalError-4
网络错误NetworkError-5
系统未就绪NoReady-10
客户端应中止请求Ignore-11
客户端应重新请求ReTry-12
拒绝访问DenyAccess-13
方法不存在NoFind404
服务不可用Unavailable503
未知的RefreshTokenAuth_RefreshToken_Unknow40083
未知的ServiceKeyAuth_ServiceKey_Unknow40082
未知的AccessTokenAuth_AccessToken_Unknow40081
未知的用户Auth_User_Unknow40421
未知的设备识别码Auth_Device_Unknow40022
令牌过期Auth_AccessToken_TimeOut40036
5. 示例:

请求

var url = 'http://www.microzero.club/Demo/api/v1/test?timestamp=1258525445';
$.ajax({
        url: url ,
        type: 'post',
        dataType: 'json',
        timeout: 30,
        headers: {
            "Authorization": "Bearer #AEDGEFDSFSE"
        },
        data: {
			"name" : "agebull",
			"nike" : "老牛"
		},
        /**
         * 成功回调
         * @param {string} jsonStr 文本
         * @returns {void} 
         */
        success: function (jsonStr) {
        	console.log(`success: ${url} => ${jsonStr}`);
            try {
            	var res = eval(`(${jsonStr})`);
            	if(res.success){
            		onSucceed(res);
            	}else if(res.status){
            		switch (result.status.code) {
				        case 40036:
				            refreshAt();
				            return;
				        case 40022:
				        case 40001:
				        case 40083:
				        case 40082:
				        case 40081:
				        case 40421:
				            showLogout();
				            return;
				    }
				    onFailed(res);
            	}
            } catch (ex) {
                console.exception(ex);
            }
        },
        /**
         * 异常回调
         * @param {object} xhr  xhr
         * @param {object} type type
         * @param {object} errorThrown errorThrown
         * @returns {void}  
         */
        error: function (xhr, type, errorThrown) {        	
        	console.log(`error: ${url} => ${type}`);
            showServerNoFind(title);
            onFailed({
            	success:false,
            	status :{
            		code = -999,
            		msg :type
           		}
        	});
        },
        complete: function () {
            hideBusy();
        }
    });

返回值

{
	'success' : false,
	'requestId' : 'API请求标识' ,
	'operatorId' : 'API操作标识' ,
	'status' : {
	'guide' : 'retry' ,
	'describe' : '系统未就绪' ,
	'point' : '1' ,
	'code' : -1 ,
	'http' : '404' ,
	'msg' : '你的数据不正确' 
	} 
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值