一般的简单操作,基本上都能简化为一下几种
方法 | URL | 类方法 | 备注 |
GET | /posts | index | 一覧 |
GET | /posts?key1=xxx&key2=xxx | index | 检索 |
GET | /posts/create | create | 作成画面取得 |
POST | /posts | store | 作成 |
GET | /posts/{:id} | show | 取得特定资源 |
GET | /posts/{:id}/edit | edit | 更新画面取得 |
PUT | /posts/{:id} | update | 更新特定资源 |
DELETE | /posts/{:id} | destroy | 削除特定资源 |
如果检索项目特别多,URL放不下的情况,最方便的做法就是直接POST
方法 | URL | 类方法 | 备注 |
GET | /posts/searchs/create | index | 检索画面 |
POST | /posts/search | search |
检索结果 这儿search已经是表示动作了 |
但是上面看起来很不RESTful,那么我们把检索条件也作为资源提交上去呢?类似于下面这种
方法 | URL | 类方法 | 备注 |
GET | /posts/searchs/create | create | 検索画面 |
POST | /posts/searchs | store | 検索条件提交 |
GET | /posts/searchs/{:id} | show | 检索结果 |
感觉很别扭,主要是检索结果这项,如果把检索条件作为资源的话,那么第三项返回的应该是特定的检索条件才对,
为什么会是posts的检索结果呢?
变通一下,如果这样呢?
方法 | URL | 类方法 | 备注 |
GET | /posts/searchs/create | create | 検索画面 |
POST | /posts/searchs | store | 検索条件提交 |
GET | /posts?search_id=xxx | show | 检索结果 |
这样看起来还不错,不过处理起来确实麻烦了很多,如果不是有洁癖的话,直接用POST就比较好了。
对于删除多个资源的问题,也可以用同样的方法(实际上这儿本质是处理选择项,至于后续是删除还是其他处理,都没关系)。
方法 | URL | 类方法 | 备注 |
POST | /posts/selections | store | 选择项提交 |
GET | /posts/selections/xxx | show | 取得选择项 |
DELETE | /posts/selections/xxx | destroy | 删除选择的posts |
上面最后一项同样不RESTful,因为按照语义,这个应该是删除的上面提交的那个选择数据,而不是具体的posts
所以最后一项也可以改成这个?
方法 | URL | 类方法 | 备注 |
POST | /posts/selections | store | 选择项提交 |
GET | /posts/selections/xxx | show | 取得选择项 |
DELETE | /posts?selection_id=xxx | destroy | 删除选择的posts |
实际上,对于普通的多页面系统,只能用GET和POST方法,那么其他方法要么就放到URL里,要么就放到Form的字段里。
而且,GET以外的所有方法,其实都是POST,所以,对于DELETE其实最终还是POST,那么就直接用POST好了
方法 | URL | 类方法 | 备注 |
POST (用form项目标识为DELETE) |
/posts | destroy | 删除选择的posts |
相关推荐
RESTful API 设计的核心理念在于其简洁性和直观性,通过定义一组简单的规则,使得开发人员能够快速地理解和使用这些接口。 #### 二、RESTful API 动词与方法 RESTful API 中最基础的概念之一是HTTP动词,它们代表...
总之,设计RESTful API时,重点在于创建清晰、一致和符合HTTP标准的接口,同时考虑到易用性和可维护性。通过遵循这些最佳实践,你可以创建出强大且易于使用的API,为开发者提供优秀的用户体验。
### RESTful API 设计最佳实践 #### 一、引言 随着互联网技术的发展,Web 应用变得越来越复杂,为了支持这些应用的功能扩展和服务交互,API 的设计变得尤为重要。RESTful API 是一种基于 HTTP 协议的应用程序编程...
### RESTful API设计规范详解 #### 一、RESTful简介 RESTful是一种广泛应用于Web服务的设计风格,全称为Representational State Transfer(表述性状态转移)。它并非一项具体的技术标准,而是一系列设计原则和约束...
具体来说,设计RESTful API时,应当按照以下要点来操作: 1. URI设计:每一个URI代表一种资源,应采用名词并以复数形式命名。使用小写字母,并用连字符'-'来替代下划线'_',比如:***。 2. 使用HTTP方法:通过HTTP...
描述:本实验使用SpringBoot、Mybatis和CXF框架来实现Restful API和WebService API接口的大实验,涵盖了数据库设计、 Maven依赖管理、Restful API和WebService API的实现等方面。 标签:spring boot、mybatis、...
4. 设计RESTful API的步骤: - 规划数据集:识别需要暴露的资源及其关系。 - 划分资源:为每个资源分配合适的URI。 - 设计接口:确定使用哪些HTTP方法以及它们的语义。 - 客户端和服务器的表示设计:考虑如何在...
RESTful API 设计 RESTful API 设计是一种架构风格,而不是严格的标准,它有很大的灵活性。它描述了一个架构样式的网络系统,RESTful 架构将服务器成前端服务器和后端服务器两部分,前端服务器为用户提供无模型的...
RESTFUL API 设计开发 RESTFUL API 是一种基于 HTTP 协议和 REST 架构策略的简单 Web 服务,包含以下特征:定义了资源的 URI,接受和返回的互联网媒体类型,如 JSON、XML、YAML 等,支持的一系列请求方法,如 POST...
书中可能会讨论如何在微服务环境中设计RESTful API。 10. 设计模式:在RESTful API的设计和实现中,有一些常见的模式,如CRUD模式、资源嵌套、集合过滤等,书中可能会详细讲解这些模式的使用和应用场景。 由于本书...
RestfulApi服务端是现代Web应用开发中常用的一种设计风格,它基于HTTP协议,通过不同的HTTP方法(GET、POST、PUT、DELETE等)来实现资源的获取、创建、更新和删除操作,使得API接口更加清晰、简洁且易于理解。...
本文将深入探讨如何使用C和C++来实现HTTP服务,并开发RESTful API服务器。 首先,HTTP(超文本传输协议)是互联网上应用最为广泛的一种网络协议,用于从万维网服务器传输超文本到本地浏览器。它是一个基于请求与...
以上就是关于RESTful API的基本知识点,结合提供的"RestFul API.pptx"和"TEST.zip"文件,你可以深入学习具体的案例,了解如何设计和实现一个RESTful API。实践中,我们通常会用到如Spring Boot这样的框架来快速构建...
在设计RESTful API时,首要目标是遵循Web标准,确保API的开发者友好性和可探索性。这意味着API应使用HTTP协议的固有方法(GET、POST、PUT、PATCH和DELETE)来操作资源,这符合HTTP方法的语义。资源通常由名词表示,...
RESTfulAPI设计:RESTfulAPI设计基础.docx
在当今信息技术飞速发展的时代,RESTful ...掌握这些知识点对于设计和实现一个健壮、安全且易于使用的RESTful API至关重要。此外,通过实践经验和持续学习,开发者可以不断提升在Python环境下开发RESTful API的能力。