REST接口设计规范总结】的更多相关文章

概述 这篇文章分享 API 接口设计规范,目的是提供给研发人员做参考. 规范是死的,人是活的,希望自己定的规范,不要被打脸. 路由命名规范 动作 前缀 备注 获取 get get{XXX} 获取 get get{XXX}List 新增 add add{XXX} 修改 update update{XXX} 保存 save save{XXX} 删除 delete delete{XXX} 上传 upload upload{XXX} 发送 send send{XXX} 请求方式 请求方式 描述 GET…
1. 前言 继前面一章<RobotFramework环境搭建>介绍了在本地如何将接口自动化实施过程所需要的基础环境搭建好,在这里假设大家都已经知道环境如何搭建了,如果不清楚的可直接查看上一章节 RobotFrameWork环境搭建(基于HTTP协议的接口自动化),那么环境一切ready了,是不是代表就可以开干了呢? 不急,对于一个team在开展这类大工程的时候,要考虑到团队多人协作,如何让自己的东西,别人能更快看懂上手,如何让大家风格保持统一,这里就还需要在真正开始之前,制定一些针对团队达到统…
这篇 文章主要是借鉴他人,但是自己很想总结出一套规范,以供向我这样的新手使用,用来规范代码,如果有什么好的提议,请不吝赐教,本篇文章长期更新! 一.重要概念: REST,即Representational State Transfer的缩写.我对这个词组的翻译是"表现层状态转化". Resource(资源) :对象的单个实例. 例如,一只动物.它可以是一段文本.一张图片.一首歌曲.一种服务,总之就是一个具体的实在.你可以用一个URI(统一资源定位符)指向它,每种资源对应一个特定的URI…
简介 Representational State Transfer 简称 REST 描述了一个架构样式的网络系统.REST 指的是一组架构约束条件和原则.满足这些约束条件和原则的应用程序或设计就是 RESTful. 概念: 资源(Resources) REST是”表现层状态转化”,其实它省略了主语.”表现层”其实指的是”资源”的”表现层”.那么什么是资源呢?就是我们平常上网访问的一张图片.一个文档.一个视频等.这些资源我们通过URI来定位,也就是一个URI表示一个资源. 表现层(Represe…
URI格式规范 URI(Uniform Resource Identifiers) 统一资源标示符 URL(Uniform Resource Locator) 统一资源定位符 URI的格式定义如下: URI = scheme "://" authority "/" path [ "?" query ] [ "#" fragment ] URL是URI的一个子集(一种具体实现),对于REST API来说一个资源一般对应一个唯一的…
1.RESTful发展背景及简介 网络应用程序,分为前端和后端两个部分.当前的发展趋势,就是前端设备层出不穷(手机.平板.桌面电脑.其他专用设备......).因此,必须有一种统一的机制,方便不同的前端设备与后端进行通信.这导致API构架的流行,甚至出现"APIFirst"的设计思想.RESTful API是目前比较成熟的一套互联网应用程序的API设计理论. REST(Representational State Transfer)表述性状态转换,REST指的是一组架构约束条件和原则.…
在设计接口时,有很多因素要考虑,如接口的业务定位,接口的安全性,接口的可扩展性.接口的稳定性.接口的跨域性.接口的协议规则.接口的路径规则.接口单一原则.接口过滤和接口组合等诸多因素,本篇文章将简要分析这些因素. 一 规范性建议 1.职责原则 在设计接口时,必须明确接口的职责,即接口类型,接口应解决什么业务问题等 2.单一性原则 在明确接口职责的条件下,尽量做到接口单一,即一个接口只做一件事,而非两件以上.很多非资深接口设计者,在设计接口时,总认为接口所做的事越多,越牛叉,这是非常严重的错误认识…
在设计接口时,有很多因素要考虑,如接口的业务定位,接口的安全性,接口的可扩展性.接口的稳定性.接口的跨域性.接口的协议规则.接口的路径规则.接口单一原则.接口过滤和接口组合等诸多因素,本篇文章将简要分析这些因素. 一 规范性建议 1.职责原则 在设计接口时,必须明确接口的职责,即接口类型,接口应解决什么业务问题等 2.单一性原则 在明确接口职责的条件下,尽量做到接口单一,即一个接口只做一件事,而非两件以上.很多非资深接口设计者,在设计接口时,总认为接口所做的事越多,越牛叉,这是非常严重的错误认识…
1.域名 1 应该尽量将API部署在专用域名之下. https://api.example.com 2 如果确定API很简单,不会有进一步扩展,可以考虑放在主域名下. https://example.org/api/ 2.版本(Versioning) 1 第一种将API的版本号放入URL. http://www.example.com/app/1.0/foo http://www.example.com/app/1.1/foo http://www.example.com/app/2.0/foo…
get 用来获取,post 用来新建(也可以用于更新),put 用来更新,delete 用来删除.…
域名 应该尽量将API部署在专用域名之下. https://api.example.com 如果确定API很简单,不会有进一步扩展,可以考虑放在主域名下. https://www.example.org/api/ 版本(Versioning) 应该将API的版本号放入URL. http://www.example.com/app/1.0/foo http://www.example.com/app/1.1/foo http://www.example.com/app/2.0/foo 另一种做法是…
1. 前言 上一篇文章介绍了在设计接口用例之前应遵守的设计规范,详见<RobotFramework接口设计规范>,当然读者公司的内部规范也不一定非得完全遵循笔者所提到的,适合自己公司内部的一套就可以了. 由于现在公司新项目的启动和自身负责的开发工作量的增剧,基本上更新文章都只能利用周末零碎时间来写,一个字一个字的码出来的,另外透露一下,下面分享的内容有部分核心思想笔者是将之前发表过的技术专利中的内容开放了一小部分哦,还是有些干货内容值得借鉴的,也希望各位读者多多支持一下. 接下来,我们来聊聊,…
1.注解 @Api:用在类上,说明该类的作用. @ApiOperation:注解来给API增加方法说明. @ApiImplicitParams : 用在方法上包含一组参数说明. @ApiImplicitParam:用来注解来给方法入参增加说明. @ApiResponses:用于表示一组响应 @ApiResponse:用在@ApiResponses中,一般用于表达一个错误的响应信息 l   code:数字,例如400 l   message:信息,例如"请求参数没填好" l   resp…
接口 # 接口:url链接,通过向链接发送不同的类型请求与参数得到相应的响应数据​# 1.在视图层书写处理请求的 视图函数# 2.在路由层为视图函数配置 url链接 => 产生接口# 3.前台通过ajax,爬虫,工具等对接口发送请求,提交相应的参数获得对应的响应数据​​# https://api.map.baidu.com/place/v2/search'''ak: 6E823f587c95f0148c19993539b99295region: 上海query: 肯德基output: json'…
restful接口规范 接口 接口:联系两个物质的媒介,完成信息交互 web程序中:联系前台页面与后台数据库的媒介 web接口组成: - url:长得像返回数据的url链接 - 请求参数:前台按照指定的key提供数据给后台 - 响应数据:后台与数据库交互后将数据反馈给前台 规范 web数据请求接口设计规范 # 分两部分 1. url: 1)通常使用https请求 2)域名:有api关键字出现 -- https://api.example.com (存在跨域问题) -- https://examp…
接口 # 接口:url链接,通过向链接发送不同的类型请求与参数得到相应的响应数据​# 1.在视图层书写处理请求的 视图函数# 2.在路由层为视图函数配置 url链接 => 产生接口# 3.前台通过ajax,爬虫,工具等对接口发送请求,提交相应的参数获得对应的响应数据​​# https://api.map.baidu.com/place/v2/search'''ak: 6E823f587c95f0148c19993539b99295region: 上海query: 肯德基output: json'…
show me the code and talk to me,做的出来更要说的明白 我是布尔bl,你的支持是我分享的动力! 一 .引入 设计接口是我们开发人员的日常操作.当我们把接口交给前端人员时,是否有种拔剑出鞘的错觉.毕竟交付接口,我们的开发工作就阶段性完成了.不过,如果我们没有一个接口设计规范的时候,结果会怎样呢?我们来张图感受一下. 二.REST 2000年,一个年轻小伙子(Roy Thomas Fielding)在他的博士论文提出了 REST.REST 是一种万维网软件架构风格.为什…
概述 这篇文章分享 Git 分支设计规范,目的是提供给研发人员做参考. 规范是死的,人是活的,希望自己定的规范,不要被打脸. 在说 Git 分支规范之前,先说下在系统开发过程中常用的环境. 简称 全称 DEV Development environment FAT Feature Acceptance Test environment UAT User Acceptance Test environment PRO Production environment DEV 环境:用于开发者调试使用.…
接口 #接口:url连接,通过向链接发送不同的类型请求与参数得到相应的响应数据 #1.在视图书写处理请求的 视图函数 #2.在路由层为视图函数配置 url链接=>产生接口 #3.前台通过ajax,爬虫,工具等对接口发送请求,提交相应的参数获得对应的响应数据 # https://api.map.baidu.com/place/v2/search ''' ak: 6E823f587c95f0148c19993539b99295 region: 上海 query: 肯德基 output: json '…
一. 前言 信我的哈,明天过年. 这应该是农历年前的关于开源项目 的最后一篇文章了. 有来商城 是基于 Spring Cloud OAuth2 + Spring Cloud Gateway + JWT实现的统一认证鉴权,Spring Cloud & Alibaba + vue-element-admin实现的微服务.前后端分离的全栈开源项目. 有来系统 的权限设计主要是为了实现以下几点目标: 实现RBAC模式的权限管理设计 实现基于 vue-element-admin 后台菜单权限管理系统 Sp…
一. 前言 hi,大家好,这应该是农历年前的关于开源项目 的最后一篇文章了. 有来商城 是基于 Spring Cloud OAuth2 + Spring Cloud Gateway + JWT实现的统一认证鉴权,Spring Cloud & Alibaba + vue-element-admin实现的微服务.前后端分离的全栈开源项目. 有来商城 的权限设计主要是为了实现以下几点目标: 实现RBAC模式的权限管理设计 实现基于 vue-element-admin 后台菜单权限管理系统 Spring…
1.团队简介 韩青长 前端工程师 我是韩青长,技术小白,抱着对软工的好奇和对未来工作的憧憬选了这门课.暂时选择了测试的工作,也对开发和UI有一定兴趣.从前上帝创造了我们,现在轮到我们来创造自己的软件了~ 陈彦吉 前端工程师 PM 呃,自我介绍..怎么说呢,我叫陈彦吉..作为一个没什么基础的渣渣,感觉一路被碾压了两年,成绩不如大多数人,能力可能也不如大多数人,其他人都可以说自己曾经拿过什么奖,做过什么项目,我感觉我可能什么也说不出来,不管怎么说,这都是因为自己怠惰了,但是我还没有放弃治疗,这个学期…
jmeter脚本录制方法可以分三种,前几天写的一篇文章中,已介绍了前两种,今天来说下第三种,手工编写脚本,建议使用这一种方法,虽然写的过程有点繁琐,但调试脚本比前两者方式都要便捷. 首先来看下三种方式的比较吧,不然看不出什么. 三种方式的优劣: badboy: 1.有时候录制不了,兼容性较差   2.post请求的时候,如果链接中有参数.body里面也有参数,都会放在body里面 jmeter 代理录制: 1.请求抓取过多    2.配置代理等操作比较繁琐 手工编写: 要一个个请求手工去写 手工…
提高UI设计效率的4个技巧 如何提高UI设计的速度?在这里分享一些我观察到的常见问题和改善方式.当然,需要注意的地方何其多. 身为设计师的你,应该要了解工程实作的基本原理: 业界 NG 率:接近 100% 许多人认为创造力和逻辑是左右半脑分开管辖的.设计师和工程师使用的是不同部分的能力,所以大家各安其份做好自己的工作就好——我负责光鲜亮丽地画图,工程师就负责用超大声的同刻键盘在黑色的屏幕上编写外星文. 但事实上这种刻板印象除了阻碍你进步以外可说是一点用都没有(而且不见得是正确的). 巴别塔的故事…
什么是ELK STACK ELK Stack是Elasticserach.Logstash.Kibana三种工具组合而成的一个日志解决方案.ELK可以将我们的系统日志.访问日志.运行日志.错误日志等进行统一收集.存储分析和搜索以及图形展现.相比传统的CTRL+F或者数据库语句来进行数据查询,ELK支持分布式搜搜,数据量可达PB级别,检索速度更快速,接近实时处理,并且更智能,可以去掉一些没有特殊含义的词汇,比如“这,的,是”,还可以进行搜索补全与搜索纠错. LogStash: 负责日志的收集,并且…
1. 前言 本篇是第一系列(Http接口自动化)的第五课程,如果对系列课程大纲不清楚的,可以查看<RobotFramework系列免费课程-开课了~>. 前面我们介绍了,在真正实施前,需先定好多人协作过程中约定的接口用例规范,以及开始时,接口项目如何结构化分层,那么今天,我们来聊聊,用RobotFramework如何编写接口用例及如何对用例断言. 2. 开始前的准备 在写接口用例前,除了前面几节介绍的接口框架环境准备.接口用例规范的制定.项目分层这几点外,在真正开始写用 例之前,还有一环节是必…
1. 背景介绍 有一段时间没有发表过文章了,一方面除了自己确实变得懒惰外,另一方面也确实有其它事情,无法抽出闲余时间来坚持写下去. 之前在博客园中,发表了关于<公开课一:Robot FrameWork接口系列课程(暂开放公司内部人员)>的系列文章,由于当时写该系列文章的初衷还是主要针对公司内部同学,故很多内容没有对外公开出来,但至从在博客园上发Topic后,经常会有很多网上朋友咨询这方面的相关问题. 说实话,RobotFrameWork 或者说自动化(接口.APP UI.Web UI.Win…
jmeter脚本录制方法可以分三种,前几天写的一篇文章中,已介绍了前两种,今天来说下第三种,手工编写脚本,建议使用这一种方法,虽然写的过程有点繁琐,但调试脚本比前两者方式都要便捷. 首先来看下三种方式的比较吧,不然看不出什么. 三种方式的优劣: badboy: 1.有时候录制不了,兼容性较差   2.post请求的时候,如果链接中有参数.body里面也有参数,都会放在body里面 jmeter 代理录制: 1.请求抓取过多    2.配置代理等操作比较繁琐 手工编写: 要一个个请求手工去写 手工…
  0. REST不是"rest"这个单词,而是几个单词缩写.: 1. REST描述的是在网络中client和server的一种交互形式:REST本身不实用,实用的是如何设计 RESTful API(REST风格的网络接口): 2. Server提供的RESTful API中,URL中只使用名词来指定资源,原则上不使用动词."资源"是REST架构或者说整个网络处理的核心.比如: http://api.qc.com/v1/newsfeed: 获取某人的新鲜; http…
1.什么是REST REST全称是Representational State Transfer,表述状态转移的意思.它是在Roy Fielding博士论文首次提出.REST本身没有创造新的技术.组件或服务,它的理念就是在现有的技术之上,更好的使用现有的 web规范.用REST规范的web服务器,能够更好的展现资源,客户端能够更好的使用资源.每个资源都由URI/ID标识.REST本身跟http无关,但是目前http是与它相关的唯一实例.REST有着优雅.简洁的特性,本文是根据豆瓣api来谈谈自己…