RESTful API概述

什么是REST

REST与技术无关,代表的是一种软件架构风格,REST是Representational State Transfer的简称,中文翻译为“表征状态转移”。这里说的表征性,就是指资源,通常我们称为资源状态转移。

什么是资源?

网络上所有的文本、图片、视频等实体,都是资源。除了实体,还可以是抽象概念,比如某人的手机号、住址等。找到某个资源,需要URL,统一资源定位符。

URL和URI

URI是统一资源标志符。URL用来描述地址,URI用来对资源进行标识。URL是URI的一个子集,通过定位的方式实现URI

RESTful规范

面向资源

每个URL代表一种资源,URL中尽量不要用动词,要用名词

根据请求方式不同,进行不同的操作

GET:     从服务器取出资源
POST:   在服务器新建一个资源
PUT:     在服务器更新资源(客户端提供改变后的完整资源)
PATCH: 在服务器更新资源(客户端提供改变的属性)
DELETE:从服务器删除资源

在URL中体现版本

https://www.cnblogs.com/v1/myclass

在URL中体现是否是API

https://www.cnblogs.com/api/vi/myclass

尽量使用HTTPS

https://www.cnblogs.com/api/vi/myclass

响应返回规范

{code: 1000, // 响应码msg: "ok",  // 描述信息data:{  // 数据id:1,name:'小强',depart_id:http://www.luffycity.com/api/v1/depart/8}
}

举例:

例如动物园中有很多的动物,如何进行增删改查?

  • 查找一个老虎:https://www.zoo.com/api/v1/animal?class=tiger&id=1 GET
  • 查找所有老虎:https://www.zoo.com/api/v1/animal?class=tiger         GET
  • 增加一个老虎:https://www.zoo.com/api/vi/animal      POST
  • 删除一个老虎:https://www.zoo.com/api/vi/animal         DELETE
  • 修改一个老虎的某个属性:https://www.zoo.com/api/vi/animal PATCH
  • 修改一个老虎的所有属性:https://www.zoo.com/api/vi/animal PUT

我们可以看到URL中全部都是名词,对资源的操作(动作)体现在请求方式上,体现了面向资源的思想。

 

转载于:https://www.cnblogs.com/V587Chinese/p/11562050.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/246961.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

AI 《A PROPOSAL FOR THE DARTMOUTH SUMMER RESEARCH PROJECT ON ARTIFICIAL INTELLIGENCE》读后总结

本文转载: http://www.cnblogs.com/SnakeHunt2012/archive/2013/02/18/2916242.html 《A Proposal for the Dartmouth Summer Research Project on Artificial Intelligence》,这是AI领域的开山之作,是当年达特茅斯会议上各路大牛们为期两个月…

第94:受限玻尔兹曼机

转载于:https://www.cnblogs.com/invisible2/p/11565179.html

安装完Ubuntu桌面后要做的(待续)

1. 为了快速而顺畅的更新,打开终端并输入以下命令来让系统使用新软件库: $ sudo apt-get update 2. 更改系统外观和行为 如果你想要更改桌面背景或图标大小,依次打开System Settings –> Appearance –> Look,并对桌面进…

算法第二章上机实践报告

一、实践题目 改写二分搜索算法 二、问题描述 这道题目主要是考验同学们在熟练掌握二分搜索法的前提下,对二分搜索的结构和运用有一个更加深刻的掌握。首先是要了解二分搜索的结构,其次,要了解二分搜索中的分治方法每一个步骤的用意&#xff…

windows远程登录 ubuntu Linux 系统及互连共享桌面

预备工作 #开启防火墙端口 sudo ufw allow 3389#安装ssh sudo apt-get install openssh-server一、windows直连Ubuntu16.04共享桌面 1、打开终端,安装xrdp,vncserver sudo apt-get install xrdp vnc4server xbase-clients2、安装desktop sharing(Ubuntu…

RAID详解

一、raid什么意思? RAID是“Redundant Array of Independent Disk”的缩写,中文翻译过来通俗的讲就是磁盘阵列的意思,也就是说RAID就是把硬盘做成一个阵列,而阵列也就是把硬盘进行组合配置起来,做为一个整体进行管理&a…

webpack4进阶配置

移动端CSS px自动转换成rem 需要两步来实现: px2rem-loader 在构建阶段将px转换成remlib-flexible 页面渲染时动态计算根元素的font-size值(手机淘宝开源库)下载插件并配置: npm i px2rem-loader lib-flexiblemodule: {rules: [{t…

MBR与GPT的区别

由于在服务器上装windows系统,一共有3个4T的硬盘,但是在windows系统下最大显示的为7T,这是因为3个4T硬盘做了Raid5,即:3.6Tx(3-1) 7T,大约是7T。由于单个移动硬盘大于2T,而MBR格式的…

Servlet-三大域对象

request request是表示一个请求,只要发出一个请求就会创建一个request,它的作用域:仅在当前请求中有效。用处:常用于服务器间同一请求不同页面之间的参数传递,常应用于表单的控件值传递。常用方法:request.…

装windows和Linux系统时找不到硬盘,pe安装系统没有出现磁盘,不能识别磁盘

装win7的时候,我们使用U盘装系统,找不到硬盘, 或者使用光盘装系统时 会出现 缺少所需的CD/DVD驱动器设备驱动程序 然后找遍整个硬盘/光盘也找不到合适的驱动,安装无法继续。 解决方法: ACHI模式下,PE里…

JSP四大域对象与九大内置对象

域对象的作用:保存数据,获取数据,共享数据.page:jsp页面被执行,生命周期开始,jsp页面执行完毕,生命周期结束(jsp当前页面有效)request:用户发送一个请求,生命周期开始,服…

解决ubuntu 15.04 安装matlab后无法找到matlab执行文件的问题

在ubuntu 15.04上安装好maltab R2015b之后,进入文件夹: /usr/local/MATLAB/R2015b/bin 没有发现matlab可执行文件,可是在文件管理器中又能搜索到matlab文件,是在其子目录glnxa64下。但进入子目录后,在终端输入命令&a…

一个写得很不错的vuex详解(转)

https://segmentfault.com/a/1190000015782272?utm_sourcetag-newest 转载于:https://www.cnblogs.com/hj0711/p/11577582.html

Linux 服务器上建立用户并分配权限

查看用户 whoami #要查看当前登录用户的用户名 who am i #表示打开当前伪终端的用户的用户名 who mom likes who 命令其它常用参数 参数 说明 -a 打印能打印的全部 -d 打印死掉的进程 -m 同am i,mom likes -q 打印当前登录用户数及用户名 -u 打印当前登录用户登录信…

HttpServletRequest

HttpServletRequest介绍 HttpServletRequest对象代表客户端的请求,当客户端通过HTTP协议访问服务器时,HTTP请求头中的所有信息都封装在这个对象中,通过这个对象提供的方法,可以获得客户端请求的所有信息。 二、Request常用方法 2.…

Linux 释放cpugpu内存、显存和硬盘

free -m free -mtotal used free shared buff/cache available Mem: 128831 15666 23617 406 89547 111448 Swap: 130986 130977 9 total 内存总数 used 已经使用的内存数 free 空闲…

POS时机未到,POW强攻是实现全球货币的正确道路

POS时机未到,POW强攻是实现全球货币的正确道路 取代现今的货币体系的正确进攻方式是POW强攻,现在的货币是由力量背书的,以后的货币也是由力量背书的,只有因造币耗费的力量超过了所有其它力量的时候才能取代成功,才能消…

Ubuntu15.04 64位安装Theano(已经测试可执行)

备注:之前服务器上已经安装caffe,后安装Theano,所有有些步骤简略。 安装caffe详情见 Caffe Ubuntu 15.04 CUDA 7.5 在服务器上安装配置及卸载重新安装(已测试可执行) 安装所需的安装包见 链接: http://pan.baid…

跳槽时,不敢要高工资也会对候选人不利

我在做技术面试官的时候,在问完问题后,照例会问一句:你期望的工资是多少?对此,我只会记录下候选人的回答然后上报,没有同意权,更没有批驳权。 判断候选人能否通过面试,主要看候选人能…

ubuntu 15.04 下的 nvidia(待续)

检查自己的GPU是否支持CUDA,linux可用以下命令来查看GPU型号: lspci | grep –i nvidia 本机显示结果如下 03:00.0 3D controller: NVIDIA Corporation GK110BGL [Tesla K40c] (rev a1) 04:00.0 VGA compatible controller: NVIDIA Corporation GK110…