restful

RESTful API 设计指南

岁酱吖の 提交于 2020-01-02 01:42:12
网络应用程序,分为前端和后端两个部分。当前的发展趋势,就是前端设备层出不穷(手机、平板、桌面电脑、其他专用设备......)。 因此,必须有一种统一的机制,方便不同的前端设备与后端进行通信。这导致API构架的流行,甚至出现 "API First" 的设计思想。 RESTful API 是目前比较成熟的一套互联网应用程序的API设计理论。我以前写过一篇 《理解RESTful架构》 ,探讨如何理解这个概念。 今天,我将介绍RESTful API的设计细节,探讨如何设计一套合理、好用的API。我的主要参考了两篇文章( 1 , 2 )。 一、协议 API与用户的通信协议,总是使用 HTTPs协议 。 二、域名 应该尽量将API部署在专用域名之下。 https://api.example.com 如果确定API很简单,不会有进一步扩展,可以考虑放在主域名下。 https://example.org/api/ 三、版本(Versioning) 应该将API的版本号放入URL。 https://api.example.com/v1/ 另一种做法是,将版本号放在HTTP头信息中,但不如放入URL方便和直观。 Github 采用这种做法。 四、路径(Endpoint) 路径又称"终点"(endpoint),表示API的具体网址。 在RESTful架构中,每个网址代表一种资源(resource)

RESTful API 设计指南

天大地大妈咪最大 提交于 2020-01-02 01:42:03
转:http://www.ruanyifeng.com/blog/2014/05/restful_api.html 学习学习这个提升一下逼格 哈哈 网络应用程序,分为前端和后端两个部分。当前的发展趋势,就是前端设备层出不穷(手机、平板、桌面电脑、其他专用设备......)。 因此,必须有一种统一的机制,方便不同的前端设备与后端进行通信。这导致API构架的流行,甚至出现 "API First" 的设计思想。 RESTful API 是目前比较成熟的一套互联网应用程序的API设计理论。我以前写过一篇 《理解RESTful架构》 ,探讨如何理解这个概念。 今天,我将介绍RESTful API的设计细节,探讨如何设计一套合理、好用的API。我的主要参考了两篇文章( 1 , 2 )。 一、协议 API与用户的通信协议,总是使用 HTTPs协议 。 二、域名 应该尽量将API部署在专用域名之下。 https://api.example.com 如果确定API很简单,不会有进一步扩展,可以考虑放在主域名下。 https://example.org/api/ 三、版本(Versioning) 应该将API的版本号放入URL。 https://api.example.com/v1/ 另一种做法是,将版本号放在HTTP头信息中,但不如放入URL方便和直观。 Github 采用这种做法。 四、路径

restful规范

◇◆丶佛笑我妖孽 提交于 2020-01-02 01:41:21
https://www.cnblogs.com/GGGG-XXXX/articles/9258310.html web服务交互   我们在浏览器中能看到的每个网站,都是一个web服务。那么我们在提供每个web服务的时候,   都需要前后端交互,前后端交互就一定有一些实现方案,我们通常叫web服务交互方案。   目前主流的三种web服务交互方案:     -- REST ( Representational State Transfer)表述性状态转移     -- SOAP (Simple Object Access Protocol) 简单的对象访问协议     -- XML-RPC (XML Remote Procedure Call)基于XML的远程过程调用   XML-RPC是通过XML将调用函数封装,并使用HTTP协议作为传送机制。   后来在新的功能不断被引入下,这个标准慢慢演变成为今日的SOAP协定。   SOAP服务则是以本身所定义的操作集,来访问网络上的资源。   SOAP也是基于XML的,但是它不只限于HTTP协议的传输,包括TCP协议,UDP协议都可以传输。   REST是Roy Thomas Fielding 博士于2000年在他的博士论文里提出来的。   REST相比SOAP更加简洁,性能和开发效率也有突出的优势。   我们今天主要说一下这个REST

Django RESTful规范

|▌冷眼眸甩不掉的悲伤 提交于 2020-01-02 01:41:06
Restful : web服务交互:   我们在浏览器中能看到的每个网站, 都是一个web服务. 那么我们在提供每个web服务的时候, 都需要前后端交互. 前后端交互就一定有一些实现方案, 我们通常叫web服务交互方案.   目前主流的三种web服务交互方案:     REST(Representational State Transfer) 表述性状态转移     SOAP(Simple Object Access Protocol) 简单的对象访问协议     XML-RPC(XML Remote Procedure Call) 基于XML的远程过程调用   XML-RPC是通过XML将调用函数封装, 并使用HTTP协议作为传送机制.   后来在新的功能不断被引入下, 这个标准慢慢演变后才能为今日的SOAP协定.   SOAP服务则是以本身所定的操作集, 来访问网络上的资源.   SOAP也是基于XML的,但是它不只限于HTTP协议的传输,包括TCP协议,UDP协议都可以传输。   REST是Roy Thomas Fielding 博士于2000年在他的博士论文里提出来的。   REST相比SOAP更加简洁,性能和开发效率也有突出的优势。   我们今天主要说一下这个REST,现在越来越多的web服务开始采用REST风格设计和实现。   例如,amazon

RESTful规范

ⅰ亾dé卋堺 提交于 2020-01-02 01:40:46
如果我们想要理解restful,就要理解Representational State Transfer这个词组的意思,表征性状态转移。   这里所说的表征性,其实指的就是资源。通常我们称为资源状态转移。 什么是资源   任何事物,只要有被引用到的必要,它就是一个资源。   我们在浏览器中看到的文本,视频,图片等等都是资源。这些都是实实在在存在的实体。   资源可以是一个实体,也可以是抽象概念。   比如说吧:     -- Alex的个人信息     -- 沛齐的手机号     -- Alex跟沛齐的潜在关系   这些都是资源,可以是实体比如个人信息,手机号。也可以是抽象的概念,比如两个人的关系......   那么在我们的网络中,我们要引用资源,资源一定要有一个标识,在web中的唯一标识就是URI,   URI我们不常听说,我们经常用URL,那么两者区别是什么呢~ 什么是URI,URL   URI 统一资源标志符。   URL 统一资源定位符。   URI是给我们的资源进行标识的,URL是描述我们资源地址的。   比如说我们每个人都有名字和身份证,名字可能重名,但是身份证是唯一的,   那么身份证号就可以是我们的URI,标识我们每个人,也可以说标识我们每个资源。   我们可以通过身份证号找到Alex,也可以通过下面这种方式找到他.....   Alex的住址协议://地球/中国

RESTful API

前提是你 提交于 2020-01-01 13:08:13
RESTful API 1. 什么是REST REST全称是Representational State Transfer,表述性状态转移。 REST指的是一组架构约束条件和原则。如果一个架构符合REST的约束条件和原则,我们就称它为RESTful架构。 2. 理解RESTful 资源与URI 统一资源接口 资源的表述 资源的链接 状态的转移 2.1 资源与URI 资源的例子: 某用户的手机号码 某用户的个人信息 最多用户订购的GPRS套餐 两个产品之间的依赖关系 某用户可以办理的优惠套餐 某手机号码的潜在价值 要让一个资源可以被识别,需要有个唯一标识,在Web中这个唯一标识就是URI(Uniform Resource Identifier)。 URI既可以看成是资源的地址,也可以看成是资源的名称。如果某些信息没有使用URI来表示,那它就不能算是一个资源, 只能算是资源的一些信息而已。URI的设计应该遵循可寻址性原则,具有自描述性,需要在形式上给人以直觉上的关联。这里以github网站为例,给出一些还算不错的URI: https://github.com/git https://github.com/git/git https://github.com/git/git/blob/master/block-sha1/sha1.h https://github.com/git/git

REST 入门介绍

痴心易碎 提交于 2019-12-30 22:06:21
dudu的 HttpClient + ASP.NET Web API, WCF之外的另一个选择 讨论的人很多,说明RESTful API也开始在.NET 社区中得到重视,其中的回复有很多对REST不正确的观点。 REST (REpresentational State Transfer)的概念提出已超过10年,不知不觉间已成当今设计开放式API的主流。或许大家手边的.NET系统整合都还是使用WCF(甚至Web Service)进行跨主机沟通,但是当微软在ASP.NET MVC 4 Beta里也开始 推广 REST架构的 ASP.NET Web API 。如果没有先了解 RESTful,那接下去的内容还真有点硬,像是专业名词,例如,你在 ASP.NET Web API 文件中可以看到大量的 Resource (资源) 这个单字,URI 我还能理解,跟 Resource 有什么关系? 关于REST及RESTful的概念,已有不少文章介绍,这里整理几篇我觉得不错的参考: 维基百科的定义: REST 什么是REST跟RESTful? REST理论的中文详述,其中你可以了解到WCF Restful属于RPC 样式的 Web 服务,ASP.NET Web API属于RESTful Web 服务。 深入浅出REST InfoQ的专文介绍,文中甚至有Roy T.

使用spring构建一个restful service project

限于喜欢 提交于 2019-12-30 08:58:22
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> spring官方指导: http://spring.io/guides/gs/rest-service/ 预期效果: 访问如同这样一个get请求: <!-- lang: html --> http://localhost:8080/greeting 能够响应如下的json字串: <!-- lang: js --> {"id":1,"content":"Hello, World!"} 也可以传递一个参数,如下: <!-- lang: js --> http://localhost:8080/greeting?name=User response为: <!-- lang: js --> {"id":1,"content":"Hello, User!"} 需要的准备工作 About 15 minutes A favorite text editor or IDE JDK 1.6 or later Gradle 1.8+ or Maven 3.0+ You can also import the code from this guide as well as view the web page directly into Spring Tool Suite (STS) and work your way through

使用STS和Gradle创建Restful服务-Hello World

。_饼干妹妹 提交于 2019-12-30 08:49:26
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 一、开发环境: 1、 Spring Tool Suite (STS) 版本 3.7.1 2、STS Gradle插件 版本 3.6.x+0.17 二、安装Gradle插件 打开 Help-》Eclipse Marketplace 搜索 gradle,点击install。由于网络原因可能会安装失败,多装几次能成功。 三、创建项目 1、右键-》new-》Spring Starter Project Type选择 Gradle Project, 如果上一步Gradle插件没有安装成功,Gradle Project是不可用的, Packging选择War,其他项目信息可以根据实际情况修改,不影响项目运行,点击Next 2、勾选web依赖 点击Finish 四、编写代码、配置路由 @RestController @SpringBootApplication public class HelloApplication { @RequestMapping("/hello") public String hello(){ return "Hello World"; } public static void main(String[] args) { SpringApplication.run(HelloApplication

什么是RESTful风格

女生的网名这么多〃 提交于 2019-12-29 09:49:01
http不仅仅是传输协议,更是一种应用协议。REST,即Representational State Transfer的缩写。意为是"表现层状态转化"。RESTful表示一种风格,理解REST前需要理解资源,何谓资源,广义的资源是指可以操作的所有对象。可能是一个系统资源,如txt、jgp、xml …,亦可以是诸如自己定义的虚拟集合的抽象,如books、usrs、times。RESTfutl代表一种简洁、方便、快捷、高效、透明的架构,这取决于你怎样组合。具有如下特点: 1、规范化接口访问方式。这些http操作方法包括GET/POST/PUT/DELETE/OPTIONS等,每个操作方法都代表一个相同意义的操作,它向所有人透明地表明操作方式。比如GET只能读取/拉数据,当然你也可以是添加数据,但建议不要这么做,不然这样就失去了REST的意义。 1) GET 读取 2) POST 添加 3) PUT 修改 4) DELETE 删除 2、资源标识唯一。通过URI表示一个资源名称,形式/resource/patch。如/users,表示用户的组合,或用户群。当然还可以继续标识某个具体的一个用户,/users/11,表示id为11的用户。当然,你也可以又用一组/usrgroup/11的URI代表操作用户组,不过不建议这么做,因为这样从字面上重复了/users/11资源表示的内容