关于RESTful

转载 2015年11月18日 15:05:09

最近纠结于RESTful的规范,翻了一下wiki,发现已经说的很好了,原文关于web服务的部分如下:


原文链接:https://en.wikipedia.org/wiki/Representational_state_transfer#CITEREFFielding2000

Applied to web services

Web service APIs that adhere to the REST architectural constraints are called RESTful APIs. HTTP-based RESTful APIs are defined with these aspects:

  • base URI, such as http://example.com/resources/
  • an Internet media type for the data. This is often JSON but can be any other valid Internet media type (e.g., XML, Atom, microformats, images, etc.)
  • standard HTTP methods (e.g., GET, PUT, POST, or DELETE)
  • hypertext links to reference state
  • hypertext links to reference-related resources[9]

Example[edit]

The following table shows the HTTP methods that are typically used to implement a RESTful API:

RESTful API HTTP methods
Resource GET PUT POST DELETE
Collection URI, such ashttp://api.example.com/resources/ List the URIs and perhaps other details of the collection's members. Replace the entire collection with another collection. Create a new entry in the collection. The new entry's URI is assigned automatically and is usually returned by the operation.[10] Delete the entire collection.
Element URI, such ashttp://api.example.com/resources/item17 Retrieve a representation of the addressed member of the collection, expressed in an appropriate Internet media type. Replace the addressed member of the collection, or if it does not exist, create it. Not generally used. Treat the addressed member as a collection in its own right and create a new entry in it.[10] Delete the addressed member of the collection.

The PUT and DELETE methods are referred to as idempotent, meaning that the operation will produce the same result no matter how many times it is repeated. The GET method is asafe method (or nullipotent), meaning that calling it produces no side-effects. In other words, retrieving or accessing a record does not change it.

Unlike SOAP-based web services, there is no "official" standard for RESTful web APIs.[11] This is because REST is an architectural style, while SOAP is a protocol. Even though REST is not a standard per se, most RESTful implementations make use of standards such as HTTPURIJSON, and XML.[11]

Elasticsearch基于RESTful接口的索引操作

从研究ES到现在有一个月了,之前搭建环境什么的,做的都比较匆忙,现在在做ES的性能测试,空余时间把相关的操作整理下。 1、查询索引配置 http://localhost:9200/_all/_sett...
  • smugaoyi
  • smugaoyi
  • 2016年10月21日 14:22
  • 953

Restful程序设计学习总结(一)

最近在项目中使用到了Restful,那么Restful是什么?下面我就总结一下、并且通过一个案例做一下基于Restful的实现。(PS:由于也是这方面的初学者,所以仅是谈下自己的理解,并不会深入探讨)...
  • qq_25464285
  • qq_25464285
  • 2016年09月16日 08:47
  • 323

接口规范

一、xml规范 先看看这个XML文件: 1 2 3 4 5 article>     id>id>     d...
  • cui7230102
  • cui7230102
  • 2011年11月23日 09:51
  • 284

关于RESTful一些注意事项,接口开发规范

见:http://blog.csdn.net/u013731455/article/details/56278168 最近在研究restful,公司开发要使用,所以自己就去网上找了好...
  • u011314442
  • u011314442
  • 2017年12月14日 09:18
  • 98

Restful Api写法心得之一《路径定义篇》

本篇文章主要说下接口路径该怎么定义,一个URL地址的可读性对于调用者和维护者都是很重要的,当你规划好URL该怎么定义后,这也决定了java项目中你的controller类的划分,我们知道一个HTTP接...
  • aiyaya_
  • aiyaya_
  • 2017年10月11日 21:08
  • 15839

RestFul Api 定义流程规范

(1)整理项目需求,编写Api需求文档,包括Api返回结果,查询参数等等。 (2)编写RestFul Api接口。 (3)测试RestFul Api接口。 (4)编写Api说明文档,包括Api的名称,...
  • u013628152
  • u013628152
  • 2014年12月26日 17:47
  • 8471

关于restful

restful架构师目前最流行的一种互联网软件架构,它结构清晰,符合标准,易于理解,扩展方便,所以正得到越来越多的网站的采用。 rest这个词是由Roy Thomas Fielding博士提出的。(...
  • sm983728902
  • sm983728902
  • 2013年01月16日 19:29
  • 287

apidoc用于写http restful接口文档注意事项

由于postman被墙了,用apidoc来写restful接口文档,并附上test case,感觉很不错。 在使用中,这个apidoc跟postman相比,还是有几点区别: 一、restful风格...
  • freeman1975
  • freeman1975
  • 2017年11月23日 14:29
  • 103

RESTFul小结

RESTFul简介    REST全称是Representational State Transfer,中文意思是表述性状态转移。 它首次出现在2000年Roy Fielding的博士论文中,Roy ...
  • chen8238065
  • chen8238065
  • 2016年06月02日 21:04
  • 486

Restful的优点

1. 轻量,直接基于http,不在需要任何别的诸如消息协议。get/post/put/delete为CRUD操作 2. 面向资源,一目了然,具有自解释性。 3. 数据描述简单,一般以xml,json做...
  • u012259209
  • u012259209
  • 2015年03月20日 15:20
  • 658
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:关于RESTful
举报原因:
原因补充:

(最多只允许输入30个字)