每个接口都有请求参数、响应参数。其中请求参数分为公共参数和业务参数、响应参数分为两类:正常的响应参数、统一的错误参数
 
一、请求参数
1、公共参数:每个接口都有的参数,主要包含appkey、时间戳、版本、响应格式、session
参考淘宝开放平台如下:
公共请求参数:a) session:有些接口需要登陆后才能调用,所以需要传递session参数b) timestamp:用于验证相同一组参数值不能重复使用,如其它参数都一样,timestamp也一样可考虑是否参数被他人截获并反复调用,服务端遇到这种情况可拒绝服务c) sign:是所有参数+app_secret加密后的字符串,则无法伪造sign串

名称 类型 是否必须 描述
method String API接口名称。
app_key String TOP分配给应用的AppKey。
session String 用户登录授权成功后,TOP颁发给应用的授权信息,详细介绍请点击这里。当此API的标签上注明:“需要授权”,则此参数必传;“不需要授权”,则此参数不需要传;“可选授权”,则此参数为可选。
timestamp String 时间戳,格式为yyyy-MM-dd HH:mm:ss,时区为GMT+8,例如:2015-01-01 12:00:00。淘宝API服务端允许客户端请求最大时间误差为10分钟。
format String 响应格式。默认为xml格式,可选值:xml,json。
v String API协议版本,可选值:2.0。
partner_id String 合作伙伴身份标识。
target_app_key String 被调用的目标AppKey,仅当被调用的API为第三方ISV提供时有效。
simplify Boolean 是否采用精简JSON返回格式,仅当format=json时有效,默认值为:false。
sign_method String 签名的摘要算法,可选值为:hmac,md5。
sign String API输入参数签名结果,签名算法介绍请点击这里
2、业务参数
每个接口特定的参数
1、如根据商品编号获取商品信息接口,则参数为product_id
2、如登录接口,则参数为login_name,login_pwd等
 
二、响应参数
响应参数分为两大类,如果接口调用成功则返回业务参数,如果调用失败则统一返回错误信息
1、正常返回

a) 获取用户信息返回参数

1
2
3
4
5
6
7
<user_buyer_get_response>
    <user>
        <nick>hz0799</nick>
        <sex>m</sex>
    </user>
</user_buyer_get_response>
 
2、错误返回

错误参数包括错误主信息,错误子信息,如请求参数验证失败,则主信息提示参数错误,子信息包含具体哪个参数错误

a) solution:可选,给出解决错误的建议

b) code: 主错误信息,定义全局的错误编码

c) msg:错误原因

1
2
3
4
5
6
7
8
9
10
<error_response>
    <code>50</code>
    <msg>参数错误</msg>
    <solution></solution>
    <sub_errors>
        <sub_code>isv.invalid-parameter</sub_code>
        <sub_msg>用户名不能为空</sub_msg>
        <sub_solution>请填写用户名</sub_solution>
    </sub_errors>
</error_response>
 
 

从零开始设计SOA框架(二):请求/响应参数的设计的更多相关文章

  1. C语言函数篇(二)函数参数基础设计

    形参实现一种数据传入的接口 ,由 实参 拷贝给 形参. 拷贝!!!!!!!!!!! 例1: void func(int tmp){ //意图是实现传进来的参数 +1 tmp++; } int mian ...

  2. 从零开始设计SOA框架(三):请求参数的加密方式

    第二章中说明请求参数有哪些,主要是公共参数和业务参数,服务端需要对参数进行效验,已验证请求参数的合法性 参数效验前先解释下以下参数: 1.参数键值对:包括公共参数.业务参数      1.公共参数:按 ...

  3. 从零开始一个http服务器(二)-请求request解析

    从零开始一个http服务器 (二) 代码地址 : https://github.com/flamedancer/cserver git checkout step2 解析http request 观察 ...

  4. Katalon Studio学习笔记(二)——请求响应中文乱码解决方法

    Katalon Studio接口测试发现返回的中文消息是乱码,这是因为KS的编码格式是UTF-8,因此导致中文字体出现乱码.如下图所示: 在我们的系统中添加一个名字为JAVA_TOOL_OPTIONS ...

  5. 浅谈WCF的三种通信模式:请求响应模式、数据报模式和双工通讯模式

    一: WCF的服务端与客户端在通信时有三种模式:请求响应模式.数据报模式和双工通讯模式. 说一下基本知识,  1.如果想要将当前接口作为wcf服务器,则一定要加上[ServiceContract] 契 ...

  6. 一: WCF的服务端与客户端在通信时有三种模式:请求响应模式、数据报模式和双工通讯模式。

    说一下基本知识,  1.如果想要将当前接口作为wcf服务器,则一定要加上[ServiceContract] 契约 2.要想将方法作为wcf服务方法发布给外部调用,则一定要加上    [Operatio ...

  7. 什么是响应式Web设计?怎样进行?

    http://beforweb.com/node/6/page/0/3 开始第一篇.老规矩,先无聊的谈论天气一类的话题.十一长假,天气也终于开始有些秋天的味道,坐在屋里甚至觉得需要热咖啡.话说两年前也 ...

  8. 认识与设计Serverless(二)

    一.设计Serverless的功能模块 第一节讲了Serverless一些概念与特性,废话居多,概念的东西了解过后要有设计与构思,才能学到精髓,一个Serverless平台的形成,涉及到很多模块的架构 ...

  9. HTML5、CSS3与响应式Web设计入门(1)

    HTML5与CSS3已经当仁不让的成为了这两年Web界最火爆的词,他们似乎在HTML4和CSS2统治了Web很多年之后的某一天突然爆发,然 后一直占据着所有Web开发者的视野.HTML5本身就是一个很 ...

随机推荐

  1. 【ASP.NET 进阶】获取MP3文件信息并显示专辑图片

    突发奇想,想弄个显示MP3文件信息和专辑图片的小Demo,个人不是大牛,遂百度之,总算搞定,现分享如下. 效果图: GIF效果图: 主要是依靠2个DLL文件:ID3.dll 和 Interop.She ...

  2. 【Android UI设计与开发】3.引导界面(三)实现应用程序只启动一次引导界面

    大部分的引导界面基本上都是千篇一律的,只要熟练掌握了一个,基本上也就没什么好说的了,要想实现应用程序只启动一次引导界面这样的效果,只要使用SharedPreferences类,就会让程序变的非常简单, ...

  3. 【C#】1.算法温故而知新 - 简单的桶排序

    该算法的时间复杂度是O(M+N),M为桶的个数,N为待排序的个数 缺点: 1.不适用于小数 2.当数值过多,太浪费空间,比如数值范围为0~99999,那需申请100000个变量,也就是要写成a[100 ...

  4. sqlite-jdbc jar包下载过程笔记

    在网络上找一些开源的jar包和对应的源码时,官网上往往是最为安全,版本最新.但大部分的网站都为英文网站,有时候定位下载地址稍有困难,下面是网上找sqlite-jdbc jar包过程,记录一下,以供参考 ...

  5. codeforces 484B B. Maximum Value(二分)

    题目链接: B. Maximum Value time limit per test 1 second memory limit per test 256 megabytes input standa ...

  6. HTML5之应用缓存---manifest---缓存使用----HTML5的manifest缓存

    相信来查这一类问题的都是遇到问题或者是初学者吧! 没关系相信你认真看过之后就会知道明白的 这是HTML5新加的特性 HTML5 引入了应用程序缓存,这意味着 web 应用可进行缓存,并可在没有因特网连 ...

  7. 只有图片拼接的html页面图片之间有白条的解决方法

    有时候会有这样的页面,整个页面也就是几张切好的图片组成,但是把这些图片使用代码拼接好,又总会出现图片间有白条的问题,如下图: 解决方法:给图片的父容器添加 line-height: 0; 就好了,因为 ...

  8. for循环的三种写法

    第一种写法  传统的方法,遍历数组 String[] arr = { "amy", "heinrich", "cindy", "g ...

  9. javascript使用栈结构将中缀表达式转换为后缀表达式并计算值

    1.概念 你可能听说过表达式,a+b,a+b*c这些,但是前缀表达式,前缀记法,中缀表达式,波兰式,后缀表达式,后缀记法,逆波兰式这些都是也是表达式. a+b,a+b*c这些看上去比较正常的是中缀表达 ...

  10. 设置Eclipse中的tab键为4个空格的完整方法

    1.点击 window->preference-,依次选择 General->Editors->Text Editors,选中右侧的 insert space for tabs;如下 ...