版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
..接口定义规范研发部2018/01..TOC\o"1-3"\h\u1.URI命名规范32.使用HTTP方法表示动作行为43.使用HTTP内容协商处理资源表示内容44.使用HTTP响应状态码标识处理结果状态55.使用HAL<HypertextApplicationLanguage>作为响应数据格式66.各HTTP方法成功处理后的返回数据97.不要对返回结果进行封装98.支持资源的字段裁剪,减少响应中返回的字段数量109.使用
OAuth2
来确保API的安全性1010.确保GET,PUT,DELETE请求是幂等的1011.API版本10..微服务接口设计采用Restful风格的接口规范,下面是基于Restful风格要求制订的接口设计规范。URI命名规范不用大写;用中杠-不用下杠_;参数列表要encode;使用名词作为资源名称<例如,不要在网址中使用动词>;使用资源集合的概念;每种资源有两类URI〔接口:资源集合〔例如,/orders;集合中的单个资源〔例如,/orders/{orderId}。使用复数形式<使用‘orders’而不是‘order’>;资源名称和ID组合可以作为一个网址的节点; 例如,/orders/{orderId}/items/{itemId};尽可能的让网址越短越好,单个网址最好不超过三个节点。 可以使用查询参数代替路径中的节点组合对Composite资源的访问服务器端的组合实体必须在uri中通过父实体的id导航访问。GET/orders/12/items使用有意义的资源描述;"禁止单纯的使用ID!"响应信息中不应该存在单纯的ID,应使用链接 或是引用的对象;设计资源的表述信息,而不是简简单单的做数据库表的映射;合并表述信息,不要通过两个ID直接表示两个表的关系;资源的集合应支持过滤,排序和分页;过滤、排序、分页应出现在参数列表中而不是Path中。例如:GET/currencies?page=1&size=10过滤条件应该合并到一个参数里: GET/users?filter="name::todd|city::denver|title::grandpoobah" 排序字段也应该合并到一个参数里,使用-代表倒序 GET/users?sort=last_name|first_name|-hire_date经常使用的、复杂的查询标签化,降低维护成本。如:GET/trades?status=closed&sort=createddesc快捷方式:GET/trades/recently-closed使用HTTP方法表示动作行为POST-创建资源,非幂等性操作;PUT-更新资源;PATCH-部分更新资源;GET-获取单个资源或资源集合;DELETE-删除单个资源或资源集合;原则上URI中不应该出现动词,当出现复杂操作超出上述HTTP方法描述的行为时,可以考虑通过URL参数来指定动作。如PUT/books/1?action=like标注ID为1的图书为喜爱图书使用其他动作时,HTTP方法仍然根据实际操作属于那种类型设定,比如属于资源的更新操作,那么就使用PUT方法。使用HTTP内容协商处理资源表示内容通过请求头/响应头中的Content-Type判断请求提中的数据类型,然后根据数 据类型做出相应处理。请求Body内容格式采用JSON格式,其格式通过HTTPHeader Content-Type:application/json表示。或From表单格式,其格式通过HTTPHeader:Content-Type:application/x-www-form-urlencoded响应内容格式为JSON,响应头Content-Type:application/json或HAL+JSON,响应头为Content-Type:application/hal+json或XML格式,响应头为Content-Type:text/xml使用HTTP响应状态码标识处理结果状态不要发生了错误但给2xx响应,客户端可能会缓存成功的http请求;正确设置http状态码,不要自定义;下面是常用状态码及其意义:响应码说明200OK请求处理正常,通常用于GET操作时内容正常返回201CreatedPost或PUT操作时对象被正常创建,通常在Body中返回对象内容。204Nocontent处理成功,但没返回值。如delete操作,没有内容可返回。301Movedpermanently资源被移动到其它位置,需要客户端重定向。400Badrequest请求有问题,可能是缺少参数或参数不正确,需要客户端修正请求内容。可以在请求体中返回错误提示信息。401Unauthorized指定资源需要授权,用户未认证身份所以不能访问资源。403Forbidden用户已登录但是没有指定资源的访问权限。404Notfound指定的资源不存在。405Methodnotallowed资源不支持访问方法,如对只读资源使用PUT进行更新409
Conflict将出现重复的数据或是无效的数据状态。500Internalservererror服务器发生非预期错误,此时需要在响应体中返回错误的具体信息。对于400、409、500这种需要进一步说明原因的错误码,可以在响应体中返回对应的错误信息,格式如下:{code:’500’,message:'服务暂不可用,请稍后重试或与管理员联系'}使用HAL<HypertextApplicationLanguage>作为响应数据格式简单资源对象:{"_links":{"self":{"href":"/api/user/matthew"}},"id":"matthew","name":"MatthewWeierO'Phinney"}复杂资源对象:{"_links":{"self":{"href":"/api/user/matthew"}},"id":"matthew","name":"MatthewWeierO'Phinney","_embedded":{"contacts":[{"_links":{"self":{"href":"/api/user/mac_nibblet"}},"id":"mac_nibblet","name":"AntoineHedgecock"},{"_links":{"self":{"href":"/api/user/spiffyjr"}},"id":"spiffyjr","name":"KyleSpraggs"}],"website":{"_links":{"self":{"href":"/api/locations/mwop"}},"id":"mwop","url":""},}}带有分页的结果:{"_embedded":{"currencyLogs":[{"type":1,"coin":0.50,"usercoin":5.50,"add_time":"1504228164","expressid":0},{"type":1,"coin":0.50,"usercoin":6.00,"add_time":"1504228187","expressid":0},{"type":1,"coin":0.50,"usercoin":10.00,"add_time":"1504228349","expressid":0}]},"_links":{"first":{},"prev":{gs/group-by-day?page=0&size=10"},"self":{},"next":{page=2&size=10"},"last":{}},"page":{"size":10,"totalElements":53454,"totalPages":5346,"number":1}}各HTTP方法成功处理后的返回数据HTTP方法response格式GET单个对象、集合POST新增成功的对象、或URIPUT/PATCH更新成功的对象或URIDELETE空不要对返回结果进行封装response的body直接就是数据,不要做多余的包装。{"type":1,"coin":24991.50,"expressid":0,"_links":{"self":{"href":"http://localhost:8011/currencies/270"}}}支持资源的字段裁剪,减少响应中返回的字段数量使用
OAuth2
来确保API的安全性使用
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 宝石轴承磨工岗前教育考核试卷含答案
- 塑料制品烧结工岗前生产安全水平考核试卷含答案
- 电子设备波峰焊装接工岗前技术应用考核试卷含答案
- 石英晶体生长设备操作工岗位基础在岗考核试卷含答案
- 中考摸底语文试题及答案梳理
- 煤焦油加氢制油工环保竞赛测试考核试卷含答案
- 焦化装置操作工岗前新设备考核试卷含答案
- 紫胶漂白工岗中知识竞赛考核试卷含答案
- 耐蚀混凝土工岗中心理健康考核试卷含答案
- 半角公式典型试题及标准答案
- 2025年全国数据安全职业技能竞赛试题(附答案)
- 员工宿舍安全培训课件
- 特种设备安全员守则(2025版)
- DGTJ08-2144-2014 公路养护工程质量检验评定标准
- 2024年中国西红柿种数据监测报告
- 国际中文教育概论 课件 第2章 独立学科国际中文教育
- 鹅肝加工创新创业项目商业计划书
- 冠脉介入医师进修汇报
- 国际贸易出口业务成交证明书(8篇)
- 食品安全与卫生管理课件
- 西方文化概论(第二版)课件 绪论 西方文化的渊源与流变
评论
0/150
提交评论