restful

restful架构

|▌冷眼眸甩不掉的悲伤 提交于 2020-03-17 11:09:11
restful软件架构 含义 restful软件架构风格:是互联网软件架构风格,也就是以网络为基础的软件的架构。 在理解restful架构之前我们先解释下什么是架构,软件架构指软件系统的“基础结构”,创造这些基础结构的准则,以及对这些结构的描述。 要理解restful架构,最好的方法就是先去理解representational state transfer,的每一词代表什么含义。 resources rest中所说的表现层状态转移(representational state transfer),其实有一个隐含的主语,就是资源(resources),表现层其实指的就是资源的表现层。所谓的资源就是网络上的一个具体信息。这个信息可以是图片、文本、音频、服务等等,总之就是一个具体的信息实体。你可以用一个URI指向它,每种特定的URI特定的URI,要获取这个资源访问他特定的URI就可以。 representational 资源是具体的信息实体,他可以有多种外在表现形式,我们把资源具体表现出来的形式叫做表现层。 比如,文本可以用txt格式表现,也可以用HTML格式、XML格式、JSON格式表现,甚至可以采用二进制格式; URI只代表资源的实体,不代表它的形式。严格地说,有些网址最后的".html"后缀名是不必要的,因为这个后缀名表示格式,属于"表现层"范畴,而URI应该只代表"资源"的位置

Node.js RESTful API

与世无争的帅哥 提交于 2020-03-16 13:48:43
以下为 REST 基本架构的四个方法: GET - 用于获取数据。 PUT - 用于更新或添加数据。 DELETE - 用于删除数据。 POST - 用于添加数据。 首先,创建一个 json 数据资源文件 users.json { "user1":{ "name":"cyy1", "password":"password1", "hobby":"html", "id":1 }, "user2":{ "name":"cyy2", "password":"password2", "hobby":"css", "id":2 }, "user1":{ "name":"cyy3", "password":"password3", "hobby":"js", "id":3 } } 接下来让我们创建以下 RESTful API: 创建 RESTful API listUsers ,用于读取用户的信息列表, server.js var express=require("express"); var app=express();//使用express框架 var fs=require("fs");//文件操作 //路由 localhost:8081/listUsers app.get("/listUsers",function(req,res){ fs.readFile(__dirname+"/"+

实现一个 RESTful API 服务器

五迷三道 提交于 2020-03-15 07:37:16
RESTful 是目前最为流行的一种互联网软件结构。因为它结构清晰、符合标准、易于理解、扩展方便,所以正得到越来越多网站的采用。 什么是 REST REST(REpresentational State Transfer),首次出现在 2000 年 Roy Thomas Fielding 的博士论文中,它指的是一组架构约束条件和原则。满足这些约束条件和原则的应用程序或设计就是 RESTful 的。 资源(Resources),REST 是“表现层状态转化”,其实它省略了主语。“表现层”其实指的是“资源”的“表现层”。那么什么是资源呢?我们平时网上访问到图片、文字、文档、多媒体等就是资源,一般通过 URI 来定位。也就是说,一个 URI 就表示一个资源。 表现层(Representation),资源是作为一个具体的实体信息,它可以有多种的展现方式。而把实体展现出来就是表现层。例如一个 txt 文本信息,它可以输出成 html、json 等。 状态转化(State Transfer),访问一个网站,就代表了客户端和服务器的一个互动过程。在这个过程中,就涉及到数据和状态的变化。而 HTTP 协议是无状态的,那么这些状态肯定保存在服务器端,所以如果客户端想要通知服务器端改变数据和状态的变化,就要通过某种方式来通知它。客户端能通知服务器端的手段,只能是 HTTP 协议。具体来说,就是

RESTful Web 服务四种操作POST/DELETE/PUT/GET

*爱你&永不变心* 提交于 2020-03-11 11:24:03
前言 关于REST及RESTful的概念,已有不少文章介绍,这里整理几篇我觉得不错的参考: 维基百科的定义: REST 什么是REST跟RESTful? REST理论的中文详述,其中你可以了解到WCF Restful属于RPC 样式的 Web 服务,ASP.NET Web API属于RESTful Web 服务。 深入浅出REST InfoQ的专文介绍,文中甚至有Roy T. Fielding当年REST博士论文的中文翻译链接。另外值得一提的,大家可能没听过Roy Fielding的大名,但如果得知他是HTTP规格的主要作者及Apache HTTP Server项目的发起人之一,应该不会有人怀疑他在Web技术领域的分量。 上面的文章建议大家认真的读一下,这里我们简要的介绍下REST 做入门介绍,理解整个 REST 能让我们在 ASP.NET Web API 的路上更顺畅。 REST是什么? REST ( REpresentational State Transfer ),State Transfer 为 “状态传输” 或 "状态转移 “,Representational 中文有人翻译为"表征”、“具象”,合起来就是 “表征状态传输” 或 “具象状态传输” 或 “表述性状态转移”,不过,一般文章或技术文件都比较不会使用翻译后的中文来撰写,而是直接引用 REST 或 RESTful

Restful API

蹲街弑〆低调 提交于 2020-03-10 06:21:53
Restful API 是Web API设计中比较流行的一种设计风格 表述性状态转移 是一种api设计架构风格,核心是面向资源(每个url都对应一个资源),它利用htttp动词(POST、DELETE、PUT、GET)+url的形式获取资源。 是一种 api 设计架构风格,核心是面向资源(每个url都对应一个资源). RESTful API是基于HTTP协议实现的 ,它利用htttp动词(POST、DELETE、PUT、GET)+url的形式获取资源。 HTTP常见的请求方式: . GET 请求获取资源 (请求获取Request-URI所标识的资源) . POST 向服务器发送数据(在Request-URI所标识的资源后附加新的数据) . HEAD 查找资源的创建时间和修改时间可使用(请求获取由Request-URI所标识的自愿的相应消息报头) .PUT 请求服务器存储一个资源 用Request-URI所标识 .DELETE 请求服务器删除Request-URI所标识的资源 .OPTIONS 请求查询服务器性能,或查询与资源相关的选项和需求 好处就是: 1、无状态(就是利用url+ Method找资源,有就是有,没有就没有,不需要状态) 2、前后端解耦,不同的前端调用同一个restful api,都能访问相同的资源,后端不用为不同的前端设计不同的api 设计要素 1、资源路径 2

RESTful API设计的点

我只是一个虾纸丫 提交于 2020-03-08 01:09:41
RESTful API 前言 一直在使用RESTful API,但是好像概念还是很模糊的,总结下使用到的点 设计的规范 协议 API与用户的通信协议,总是使用HTTPs协议。 域名 应该尽量将API部署在专用域名之下。 https://api.example.com 版本 应该将API的版本号放入URL。 https://api.example.com/v1/ 也可以将版本信息加入到HTTP头信息中,但不如放入URL方便和直观 路径 在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动词表示。 常用的HTTP动词有下面五个(括号里是对应的SQL命令)。 GET(SELECT):从服务器取出资源(一项或多项)。 POST

人人都是 API 设计师:我对 RESTful API、GraphQL、RPC API 的思考

独自空忆成欢 提交于 2020-03-05 15:58:08
原文地址: 梁桂钊的博客 博客地址: http://blog.720ui.com 欢迎关注公众号:「服务端思维」。一群同频者,一起成长,一起精进,打破认知的局限性。 有一段时间没怎么写文章了,今天提笔写一篇自己对 API 设计的思考。首先,为什么写这个话题呢?其一,我阅读了《阿里研究员谷朴:API 设计最佳实践的思考》一文后受益良多,前两天并转载了这篇文章也引发了广大读者的兴趣,我觉得我应该把我自己的思考整理成文与大家一起分享与碰撞。其二,我觉得我针对这个话题,可以半个小时之内搞定,争取在 1 点前关灯睡觉,哈哈。 现在,我们来一起探讨 API 的设计之道。我会抛出几个观点,欢迎探讨。 一、定义好的规范,已经成功了一大半 通常情况下,规范就是大家约定俗成的标准,如果大家都遵守这套标准,那么自然沟通成本大大降低。例如,大家都希望从阿里的规范上面学习,在自己的业务中也定义几个领域模型:VO、BO、DO、DTO。其中,DO(Data Object)与数据库表结构一一对应,通过 DAO 层向上传输数据源对象。 而 DTO(Data Transfer Object)是远程调用对象,它是 RPC 服务提供的领域模型。对于 BO(Business Object),它是业务逻辑层封装业务逻辑的对象,一般情况下,它是聚合了多个数据源的复合对象。那么,VO(View Object)

RESTful API Design With NodeJS & Restify

有些话、适合烂在心里 提交于 2020-03-05 08:57:48
http://code.tutsplus.com/tutorials/restful-api-design-with-nodejs-restify--cms-22637 The RESTful API consists of two main concepts: Resource , and Representation . Resource can be any object associated with data, or identified with a URI (more than one URI can refer to the same resource), and can be operated using HTTP methods. Representation is the way you display the resource. In this tutorial we will cover some theoretical information about RESTful API design, and implement an example blogging application API by using NodeJS. Resource Choosing the correct resources for a RESTful API is an

RESTful

不羁岁月 提交于 2020-03-04 11:29:50
一.什么是RESTful 面向资源 简单的说:RESTful是一种架构的规范与约束、原则,符合这种规范的架构就是RESTful架构。 先看REST是什么意思,英文Representational state transfer 表述性状态转移 其实就是对 资源 的表述性状态转移。 (什么是表述性:就是指客户端请求一个资源,服务器拿到的这个资源,就是表述) 资源的地址 在web中就是URL (统一资源标识符) 资源是REST系统的核心概念。 所有的设计都是以资源为中心 结合项目怎么识别资源 1.商品加入购物车 购物车 2.提交订单 订单 3.创建用户 用户 围绕资源进行 添加,获取,修改,删除,以及对符合特定条件的资源进行列表操作 。针对资源设计接口 二.关于规范与约束有哪些? RESTful 架构的核心规范与约束:统一接口 分为四个子约束: 1.每个资源都拥有一个资源标识,每个资源的资源标识可以用来唯一地标明该资源 2.消息的自描述性 3.资源的自描述性。 4.HATEOAS Hypermedia As The Engine Of Application State(超媒体作为应用状态引擎) 即客户只可以通过服务端所返回各结果中所包含的信息来得到下一步操作所需要的信息,如到底是向哪个URL发送请求等。也就是说,一个典型的REST服务不需要额外的文档标示通过哪些URL访问特定类型的资源

简单理解RESTful

北城以北 提交于 2020-03-03 14:58:30
REST是一种架构风格 , 其核心是面向资源 ,REST专门针对网络应用设计和开发方式,以降低开发的复杂性,提高系统的可伸缩性。REST提出设计概念和准则为: 1.网络上的所有事物都可以被抽象为资源(resource) 2.每一个资源都有唯一的资源标识(resource identifier),对资源的操作不会改变这些标识 3.所有的操作都是无状态的 REST简化开发,其架构遵循 CRUD原则 ,该原则告诉我们 对于资源(包括网络资源)只需要四种行为:创建,获取,更新和删除就可以完成相关的操作和处理 。您可以通过 统一资源标识符(Universal Resource Identifier,URI)来识别和定位资源 ,并且针对这些资源而执行的操作是通过 HTTP 规范定义的。 其核心操作只有GET,PUT,POST,DELETE 。 由于REST强制所有的操作都必须是stateless的,这就没有上下文的约束,如果做分布式,集群都不需要考虑上下文和会话保持的问题。极大的提高系统的可伸缩性。 来源: oschina 链接: https://my.oschina.net/fairy1674/blog/3186557