REST:是一组架构约束条件和原则,REST是Roy Thomas Fielding在他2000年的博士论文中提出的。
图 1 Roy Thomas Fielding是HTTP协议(1.0版和1.1版)的主要设计者、Apache服务器作者之一、Apache基金会第一任主席
REST(Representational State Transfer):表现层状态转移,一种软件架构风格,不是标准。既然不是标准,我可以遵守,也可以不遵守!!!
什么是表现层状态转移:
Representational (表现层)
State Transfer(状态转移):通过HTTP动词实现。
总结:URL定位资源,HTTP动词(GET,POST,PUT,DELETE)描述操作。
基于REST构建的API就是Restful风格。
1.JSP技术可以让我们在页面中嵌入Java代码,但是这样的技术实际上限制了我们的开发效率,因为需要我们Java工程师将html转换为jsp页面,并写一些脚本代码,或者前端代码。这样会严重限制我们的开发效率,也不能让我们的java工程师专注于业务功能的开发,所以目前越来越多的互联网公司开始实行前后端分离。
2.近年随着移动互联网的发展,各种类型的Client层出不穷,RESTful可以通过一套统一的接口为Web,iOS和Android提供服务。另外对于广大平台来说,比如微博开放平台,微信开放平台等,它们不需要有显式的前端,只需要一套提供服务的接口,RESTful无疑是最好的选择。RESTful架构如下:
—>在RESTful架构中,每个网址代表一种资源(resource),所以网址中不能有动词,只能有名词,而且所用的名词往往与数据库的表名对应,一般来说,数据库中的表都是同种记录的”集合”(collection),所以API中的名词也应该使用复数。
—>举例来说,有一个API提供动物园(zoo)的信息,还包括各种动物和雇员的信息,则它的路径应该设计成下面这样。
https://api.example.com/v1/zoos
https://api.example.com/v1/animals
https://api.example.com/v1/employees
对于资源的具体操作类型,由HTTP动词表示,常用的HTTP动词如下:
请求方式 | 含义 |
---|---|
GET | 获取资源(一项或多项) |
POST | 新建资源 |
PUT | 更新资源(客户端提供改变后的完整资源) |
DELETE | 删除资源 |
如何通过路径和http动词获悉要调用的功能:
请求方式 | 含义 |
---|---|
GET /zoos | 列出所有动物园 |
POST /zoos | 新建一个动物园 |
GET /zoos/ID | 获取某个指定动物园的信息 |
PUT /zoos/ID | 更新某个指定动物园的信息(提供该动物园的全部信息) |
DELETE /zoos/ID | 删除某个动物园 |
GET /zoos/ID/animals | 列出某个指定动物园的所有动物 |
DELETE /zoos/ID/animals/ID | 删除某个指定动物园的指定动物 |
文章浏览阅读1.2k次。问题描述源站(GitHub pages)使用了 CDN,浏览器访问提示重定向过多XXX.XXX.XXX 将您重定向的次数过多。尝试清除 Cookie.ERR_TOO_MANY_REDIRECTS问题原因Github Pages 开启了 Enforce HTTPS,且 CDN 中回源协议为 HTTP。此时客户端无论通过哪种协议访问源站的 CDN 加速域名,CDN 都会以 HTTP 协议回源。而源站因为 Enforce HTTPS 的存在返回 301 永久重定向强制要求 CDN 重新以 HTTPS_加了cdn failed to load image net::err_too_many_redirects
文章浏览阅读1.8k次。Apache Jakarta POI项目提供了用于访问和生成Excel文档的组件。POI HSSF API用于生成Excel Workbook以及将Excel电子表格添加到workbook。Excel电子表格由行和单元格组成。电子表格的页面布局和字体也使用POI HSSF API进行设置。 通常要求将数据库表呈现在Excel电子表格中。同样,开发人员的需求也可以保存到数据库表中的_myd文件转excel
文章浏览阅读5.2k次。又是因�工作需要,突然需要碰Redmine�套�案管理系�,但是可以�用的主�已�使用了CentOS,所以我必�在CentOS上安�Ruby等相�Redmine所需的相���。安�前你必�先:安�好MySQLMySQL可以新增�料��正常�作中有root�限 步�上大致有:安�Ruby安�RubyGems下�Redmine安�Bundler�定Redmine在C_linux使用rz命令出现b010000
文章浏览阅读1.1k次。之前几个例子中经常使用到onClick,今天学习一下onTouchEvent。onTouchEvent和onClick是不同的事件,click只是点击一次,onTouchEvent是观察整个touch过程。0.效果展示1. 布局1.1 RelativeLayout之前都是使用LinearLayout进行布局,还有一种布局使用也挺多的:RelativeLayout,可以通过相对定位的方式让控件出现在布局的任何位置。通过描述跟父组建或是其他组建关系进行布局,如下为布局使用设置:layout_kotlin ontouchevent
文章浏览阅读381次。在ios中,通知有两种(提醒轰炸的来源): 第一种是本地通知(UILocalNotification),这一种不需要申请推送证书,也不需要向程序注册,直接使用,这一种不是本文讨论的范围。 第二种是APNS远程推送——远程通知(UIRemoteNotification),这个不仅需要向程序注册,也需要在开发者账号里申请推送证书,下面来介绍一下如何注册和申请证书。一_applesev远程证明
文章浏览阅读253次。因学习需要,需将jdk从1.8更改到1.7,其中遇到了些小麻烦,如果你也遇到这种麻烦,可以借鉴一下我的解决方法。1、jdk的安装及环境变量的配置,详见https://jingyan.baidu.com/article/6dad5075d1dc40a123e36ea3.html2、具体更改步骤:将JAVA_HOME:的路径更改为1.7的相关路径,例如我的:C:\Program Fil..._linux安装jdk8没问题安装17改了环境变量看还是8
文章浏览阅读1.1k次。测验5: 函数和代码复用 (第5周)1.以下选项不是函数作用的是:A降低编程复杂度B增强代码可读性C复用代码D提高代码执行速度正确答案:D函数不能直接提高代码执行速度..._python内置函数调用前需要引用相应的库
文章浏览阅读9.1k次,点赞7次,收藏7次。问题:pycharm突然没有提示,print、import都不提示,并且代码字体颜色都没有了。网上一堆关掉省电模型,估计你也都搜到了。以下两个方法亲测管用(Mac、Windows通用)方法一:File > Invalidate Caches / Restart …方法二:没有更改以前配置的情况下,删除.idea文件夹重新打开,实测这个最有效..._pycharm没有预测
文章浏览阅读384次。比较全面的收集了机器学习的介绍文章,从感知机、神经网络、决策树、SVM、Adaboost到随机森林、Deep Learning。《机器学习经典论文/survey合集》介绍:看题目你已经知道了是什么内容,没错。里面有很多经典的机器学习论文值得仔细与反复的阅读。《Brief History of Machine Learning》2介绍:这是一篇介绍机器学习历史的文章,介绍_机器学习guolih
文章浏览阅读176次。如果文件存在或者不存在,将文件打开为读/写的最佳方式是什么?然后创建并以读/写方式打开文件?从我读的, file = open('myfile.dat','rw')应该这样做,对吧? 它不适用于我(Python 2.6.2),我想知道它是否是一个版本问题,或不应该像这样或那样工作。 $ b $ p 更新:封闭的目录可以被用户和组写入,而不是其他(我在Linux系统上...所以权限779322017..._st = time.time() print("开始转化电影的dat文件")
文章浏览阅读632次,点赞9次,收藏5次。通过互联网的发展和使用,让更多的人,更多的用户可以通过电子计算机信息技术就能更加方便地进行管理。为了能更好的管理图书馆,维护图书馆体系的正常运行,制作一个用于图书馆座位管理的系统,实现在线图书借阅、在线的自习座位预约等功能,后台用户可以对图书馆的图书馆员工进行管理,对图书存取进行管理,减免了繁琐的手工记录过程,提高管理效率,优化管理模式。如今信息化社会的不断发展,让更多的,注重人们的生活品质的提高,在生活的同时,也越来越注重在以后的生活中的服务,拥有良好的图书馆,能够让用户在很大的程度上体验生活。_springboot图书管理系统免费源码
文章浏览阅读413次,点赞7次,收藏6次。攻击者可以通过构造恶意的SQL语句,成功注入并执行恶意数据库操作,可能导致敏感信息泄露、数据库被篡改或其他严重后果。网康应用安全网关(NS-ASG) list_ipAddressPolicy 接口存在SQL注入漏洞。网康应用安全网关(NS-ASG)-list_ipAddressPolicy-SQL注入漏洞。FOFA:app="网康-NS-ASG-应用安全网关"网康应用安全网关(NS-ASG)漏洞类别: SQL注入漏洞。_网康ns-asg应用安全网关