RESTful的一些总结
来源:互联网 发布:one软件 编辑:程序博客网 时间:2024/06/16 05:16
RESTful Web Service
REST是什么
RESTful是什么
REST 架构的主要原则
补充:URI和URL
一切皆为资源
在 REST 的定义中,一个 Web 应用总是使用固定的 URI 向外部世界呈现一个资源。
它认为Web是由一系列的抽象资源组成,这些抽象的资源具有不同的具体表现形式。
譬如,定义一个资源为photo,含义是照片,它的表现形式可以是一个图片,也可以是一个.xml的文件,其中包含一些描述该照片的元素,或是一个html文件。
REST接口定义
资源操作
我们在 Web 应用中处理来自客户端的请求时,通常只考虑 GET 和 POST 这两种 HTTP 请求方法。实际上,HTTP 还有 HEAD、PUT、DELETE 等请求方法。而在 REST 架构中,用不同的 HTTP 请求方法来处理对资源的 CRUD(创建、读取、更新和删除)操作:
若要在服务器上创建资源,应该使用 POST 方法。 若要检索某个资源,应该使用 GET 方法。 若要更改资源状态或对其进行更新,应该使用 PUT 方法。 若要删除某个资源,应该使用 DELETE 方法。
经过这样的一番扩展,我们对一个资源的 CRUD 操作就可以通过同一个 URI 完成了:
读取) [GET] http://www.example.com/photo/logo
仍然保持为 [GET] http://www.example.com/photo/logo
(创建)http://www.example.com/photo/logo/create
改为 [POST] http://www.example.com/photo/logo
(更新)http://www.example.com/photo/logo/update
改为 [PUT] http://www.example.com/photo/logo
(删除)http://www.example.com/photo/logo/delete
改为 [DELETE] http://www.example.com/photo/logo
从而进一步规范了资源标识的使用。
通过 REST 架构,Web 应用程序可以用一致的接口(URI)暴露资源给外部世界,并对资源提供语义一致的操作服务。这对于以资源为中心的 Web 应用来说非常重要。
无状态性
最佳实践
REST接口设计
响应设计
响应示例
指定响应的属性字段
补充:http响应状态码
SpringMVC实现RESTful服务
查询资源示例
新增资源示例
更新资源示例
默认情况下,PUT请求是无法提交表单数据的,需要在web.xml中添加过滤器解决:
<!-- 解决PUT请求无法提交表单数据的问题 --> <filter> <filter-name>HttpMethodFilter</filter-name> <filter-class>org.springframework.web.filter.HttpPutFormContentFilter</filter-class> </filter> <filter-mapping> <filter-name>HttpMethodFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
删除资源示例
需要在web.xml中添加过滤器解决DELETE请求无法提交表单数据的问题:
<!-- 将POST请求转化为DELETE或者是PUT 要用_method指定真正的请求参数 --> <filter> <filter-name>HiddenHttpMethodFilter</filter-name> <filter-class>org.springframework.web.filter.HiddenHttpMethodFilter</filter-class> </filter> <filter-mapping> <filter-name>HiddenHttpMethodFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
- RESTful的一些总结
- RESTful的一些总结
- RESTful的一些概念
- restful 关于Restful Web Service的一些理解
- 关于Restful Web Service的一些理解
- 对与RestFul的一些理解
- restful 常见的返回错误码总结
- restful RESTful的理解
- 我对 rest 以及 restful 的一些粗浅的理解
- RESTful实践总结
- restful个人总结
- RESTful实践总结
- RESTful架构总结
- RESTful API总结
- restful接口总结
- Restful学习总结
- Rails中的MVC流程与RESTful路由的流程总结
- java restful 后端 Exception 的处理架构总结
- 【Android Util】CircleProgressView 圆形进度条
- C++:boost::bind的一些用法
- [初学笔记] matlab中优化测试 profiler的工具使用, profile相关的命令
- 合并两个有序的数组
- SVM之核函数
- RESTful的一些总结
- 第五周 【项目1
- thransformation操作
- vue中路由切换动画效果(transition)
- 排序
- 通用块层和SCSI层--I/O处理过程
- 【矩阵快速幂】Experienced Endeavour
- OpenCV 3.3.0+opencv_contirb在VS2015下的配置
- [ZJOI2008]树的统计Count