当前位置:首页 » 资源管理 » restful中更新资源用哪个动词
扩展阅读
三星s6手机什么价格 2024-09-20 05:36:53
宣传礼品价格怎么样 2024-09-20 05:36:51
铂金到钻石多少颗星 2024-09-20 05:23:45

restful中更新资源用哪个动词

发布时间: 2022-01-20 03:26:16

‘壹’ 如何理解rest和restful,什么是restfulAPI

简单理解一
就是用URL定位资源,用HTTP描述操作。
简单理解二
URL定位资源,用HTTP动词(GET,POST,DELETE,DETC)描述操作。
官方定义
一种软件架构风格、设计风格,而不是标准,只是提供了一组设计原则和约束条件。它主要用于客户端和服务器交互类的软件。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。
以web开发举例
在设计web接口的时候,REST主要是用于定义接口名,接口名一般是用名次写,不用动词,那怎么表达“获取”或者“删除”或者“更新”这样的操作呢——用请求类型来区分。
比如,我们有一个students接口,对于“学生”我们有增删改查四种操作,怎么定义REST接口?
增加一个学生,uri: http://testcode.com/school/students 接口类型:POST
删除一个朋友,uri: http://testcode.com/school/students 接口类型:DELETE
修改一个朋友,uri: http://testcode.com/school/students 接口类型:PUT
查找朋友,uri: http://testcode.com/school/students 接口类型:GET
上面我们定义的四个接口就是符合REST协议的,请注意,这几个接口都没有动词,只有名词students,都是通过Http请求的接口类型来判断是什么业务操作。
举个反例
uri: http://testcode.com/school/addStudents 该接口用来表示增加学生,这就是不符合REST协议的接口。
建议
用HTTP Status Code传递Server的状态信息。比如最常用的 200 表示成功,500 表示Server内部错误,403表示Bad Request等。(反例:传统web开发返回的状态码一律都是200,其实不可取。)
REST风格接口意义
前后端分离。前端拿到数据只负责展示和渲染,不对数据做任何处理。后端处理数据并以JSON格式传输出去,定义这样一套统一的接口,在web,ios,android三端都可以用相同的接口,节约开发成本以及便于同一调试。

‘贰’ Restful api 的资源内容应不应该带上 ID

路径,API的具体地址。在REST中,每个地址都代表一个具体的资源(Resource)。所以就有了以下的约定:
路径仅表示资源的路径(位置),以及一些特殊的actions操作。
以 复数(名词) 进行命名资源,不管返回单个或者多个资源。
使用 小写字母、数字以及下划线(“_”) 。(下划线是为了区分多个单词,如token_access)。
资源的路径从父到子依次如:/{resource}/{resource_id}/{sub_resource}/{sub_resource_id}/{sub_resource_property}。
使用?来进行资源的过滤、搜索以及分页等。
使用版本号,且版本号在资源路径之前。
优先使用内容协商来区分表述格式,而不是使用后缀来区分表述格式。
应该放在一个专用的域名下,如:http://api.webfuse.cn。
建议使用SSL。

‘叁’ restful和http的区别

REST 定义了一组体系架构原则,您可以根据这些,包括使用不同语言编写的客户端如何通过 HTTP 处理和传输资源状态。所以在事实上,REST 对 Web的影响非常大,由于其使用相当方便,已经普遍地取代了基于 SOAP 和 WSDL 的接口设计。在多年以后的今天,REST的主要框架已经开始雨后春笋般的出现。

个人理解:
(一) 首先REST只是一种风格,不是一种标准
(二) REST是以资源为中心的
(三) REST充分利用或者说极端依赖HTTP协议

一.对于今天正在吸引如此多注意力的最纯粹形式的 REST Web 服务,其具体实现应该遵循以下基本设计原则:

1.1.显式地使用不同的 HTTP 请求方法
1.2.无状态
1.3.公开目录结构式的 URI(通过逻辑URI定位资源)。

1.1.显式地使用不同的 HTTP 请求方法

我们在 Web 应用中处理来自客户端的请求时,通常只考虑 GET 和 POST 这两种 HTTP 请求方法。实际上,HTTP 还有 HEAD、PUT、DELETE 等请求方法。而在 REST 架构中,用不同的 HTTP 请求方法来处理对资源的 CRUD(创建、读取、更新和删除)操作:

若要在服务器上创建资源,应该使用 POST 方法。
若要检索某个资源,应该使用 GET 方法。
若要更改资源状态或对其进行更新,应该使用 PUT 方法。
若要删除某个资源,应该使用 DELETE 方法。

‘肆’ 什么是REST API

REST 是REpresentational State Transfer的缩写,字面的翻译是表现层状态转移。

RESTful API就是REST风格的网络接口,REST描述的是在网络中client和server的一种交互形式;REST本身不实用,实用的是如何设计。

Server提供的RESTful API中,URL中只使用名词来指定资源,原则上不使用动词。“资源”是REST架构或者说整个网络处理的核心。


拓展资料:

REST指一组架构约束条件和原则,满足约束条件和原则的应用程序设计。架构,软件体系结构分为三部分:构建,用于描述计算机;连接器,用于描述构建的链接部分;配置将构建和连接器组成有机整体。


web基本技术:
URI(统一资源标示符)HTTP(超文本传输协议)(post、get、put、delete) Hypertext。


1、每个资源都应该有唯一的一个标识


2、使用标准的方法更改资源的状态


3、request和response的自描述


4、资源多重表述


5、无状态服务

用HTTP协议里的动词来实现资源的添加,修改,删除等操作。即通过HTTP动词来实现资源的状态扭转:

GET 用来获取资源

POST 用来新建资源(也可以用于更新资源)

PUT 用来更新资源,

DELETE 用来删除资源。

‘伍’ restful api接口规范是什么

REST(REpresentationStateTransfer)描述了一个架构样式的网络系统,比如web应用程序。

一般依赖于HTTP认证,HTTP认证有几种:basic,digest,token,这些都有标准的实现的开源包需要主要的是这个认证的帐号跟你业务的帐户实际是不一样的。REST属于webService一种,安全是后台服务的安全,因此不需要实际的业务帐号,通常是系统keyStore证书库里的账户。

RESTFUL特点包括:

1、每一个URI代表1种资源。

2、客户端使用GET、POST、PUT、DELETE4个表示操作方式的动词对服务端资源进行操作:GET用来获取资源,POST用来新建资源(也可以用于更新资源),PUT用来更新资源,DELETE用来删除资源。

3、通过操作资源的表现形式来操作资源。

4、资源的表现形式是XML或者HTML。

5、客户端与服务端之间的交互在请求之间是无状态的,从客户端到服务端的每个请求都必须包含理解请求所必需的信息。

‘陆’ 如何设计好的RESTful API

规划好你的API的外观要先于开发它实际的功能。首先你要知道数据该如何设计和核心服务/应用程序会如何工作。如果你纯粹新开发一个API,这样会比较容易一些。但如果你是往已有的项目中增加API,你可能需要提供更多的抽象。

有时候一个集合可以表达一个数据库表,而一个资源可以表达成里面的一行记录,但是这并不是常态。事实上,你的API应该尽可能通过抽象来分离数据与业务逻辑。这点非常重要,只有这样做你才不会打击到那些拥有复杂业务的第三方开发者,否则他们是不会使用你的API的。

当然你的服务可能很多部分是不应该通过API暴露出去的。比较常见的例子就是很多API是不允许第三方来创建用户的。

GET (选择):从服务器上获取一个具体的资源或者一个资源列表。

POST(创建):在服务器上创建一个新的资源。

PUT(更新):以整体的方式更新服务器上的一个资源。

PATCH(更新):只更新服务器上一个资源的一个属性。

DELETE(删除):删除服务器上的一个资源。

还有两个不常用的HTTP动词:

HEAD:获取一个资源的元数据,如数据的哈希值或最后的更新时间。

OPTIONS:获取客户端能对资源做什么操作的信息。

一个好的RESTful API只允许第三方调用者使用这四个半HTTP动词进行数据交互,并且在URL段里面不出现任何其他的动词。

一般来说,GET请求可以被浏览器缓存(通常也是这样的)。例如,缓存请求头用于第二次用户的POST请求。HEAD请求是基于一个无响应体的GET请求,并且也可以被缓存的。

‘柒’ restful怎么通过get方法表示一个动词

标准没有不允许你使用自定义头,自定义头可以以 `X-` 开头,比如 `X-MyToken`如果用 OAuth 2,连自定义头都不需要,bearer token 直接放在 `Authorization` 头里。

‘捌’ REST 架构该怎么生动地理解

相同问题一起答了!

我觉得问题很好,我自己去年创业的时候去学习REST和尝试着设计RESTful API,一直觉得它的文档晦涩难懂,国内也没有找到太好文章。后来一年内反复琢磨了好几遍,和FB+Square的朋友讨论过好几次,有了一个比较清晰的总结。分享如下:

@Ivony 老师的一句话概括很精辟:
URL定位资源,用HTTP动词(GET,POST,DELETE,DETC)描述操作。

--- 简洁版 ---

0. REST不是"rest"这个单词,而是几个单词缩写。但即使那几个单词说出来,也无法理解在说什么 -_-!! (不是要贬低人,是我自己也理解困难);
1. REST描述的是在网络中client和server的一种交互形式;REST本身不实用,实用的是如何设计 RESTful API(REST风格的网络接口);
2. Server提供的RESTful API中,URL中只使用名词来指定资源,原则上不使用动词。“资源”是REST架构或者说整个网络处理的核心。比如:
api.qc.com/v1/newsfeed: 获取某人的新鲜;
api.qc.com/v1/friends: 获取某人的好友列表;
api.qc.com/v1/profile: 获取某人的详细信息;3. 用HTTP协议里的动词来实现资源的添加,修改,删除等操作。即通过HTTP动词来实现资源的状态扭转:
GET 用来获取资源,
POST 用来新建资源(也可以用于更新资源),
PUT 用来更新资源,
DELETE 用来删除资源。

‘玖’ 怎样理解restful格式中的uri


REST -- REpresentational State Transfer 直接翻译:表现层状态转移。这个中文直译经常出现在很多博客中。尼玛谁听得懂“表现层状态转移”?这是人话吗?我自己也困惑了很久,查询了很多资料,花了差不多一年有个还算清晰的理解。分享如下:

Ivony 老师的一句话概括很精辟:
URL定位资源,用HTTP动词(GET,POST,DELETE,DETC)描述操作。

--- 简洁版 ---

0. REST不是"rest"这个单词,而是几个单词缩写。但即使那几个单词说出来,也无法理解在说什么 -_-!! (不是要贬低人,是我自己也理解困难);
1. REST描述的是在网络中client和server的一种交互形式;REST本身不实用,实用的是如何设计 RESTful API(REST风格的网络接口);
2. Server提供的RESTful API中,URL中只使用名词来指定资源,原则上不使用动词。“资源”是REST架构或者说整个网络处理的核心。