我们正在尝试为我们现在拥有的应用程序实现REST API.我们希望使用REST API公开各种资源的读/写功能.我们如何实现这个"形式"部分?我通过创建基本上用作方法调用并返回数据的RESTful URL来了解如何公开我们数据的"读取":
GET /restapi/myobject?param=object-id-maybe
Run Code Online (Sandbox Code Playgroud)
...返回表示某些数据结构的XML文档.精细.
但是,通常,在Web应用程序中,"编辑"将涉及两个请求:一个用于加载当前版本的资源并使用该数据填充表单,另一个用于将修改后的数据发回.
但我不知道如何使用REST映射到的HTTP方法做同样的事情.这是一个PUT,对吗?有人可以解释一下吗?
(附加考虑:UI主要使用AJAX完成)
- 更新:这肯定有帮助.但是,我对服务器端仍然有点困惑?显然,我不仅仅是处理文件.在服务器上,响应请求的代码应该过滤请求方法以确定如何处理它?那是读写之间的"转换"吗?
Ale*_*nos 11
您可以使用许多不同的替代方案.微格式wiki提供了一个很好的解决方案,RESTful JSON工作人员也参考了这个解决方案.尽可能接近标准,真的.
Operate on a Record
GET /people/1
return the first record
DELETE /people/1
destroy the first record
POST /people/1?_method=DELETE
alias for DELETE, to compensate for browser limitations
GET /people/1/edit
return a form to edit the first record
PUT /people/1
submit fields for updating the first record
POST /people/1?_method=PUT
alias for PUT, to compensate for browser limitations
Run Code Online (Sandbox Code Playgroud)
如果您通过纯 HTML 提交数据,则只能使用基于 POST 的表单。POST 请求发送到的 URI不应是正在修改的资源的 URI。您应该 POST 到每次添加新创建的资源的集合资源(在Location标头中使用新资源的 URI 和202状态代码),或者 POST 到更新程序资源,该更新程序资源使用在 Location 标头中提供的 URI 更新资源。请求的内容(或自定义标头)。
如果您使用的是 XmlHttpRequest 对象,则可以将该方法设置为 PUT 并将数据提交到资源的 URI。如果服务器为尚不存在的资源提供有效的 URI,则这也适用于空表单。第一个 PUT 将创建资源(返回202)。如果数据相同,后续 PUT 将不执行任何操作,或者修改现有资源(无论哪种情况,除非发生错误,否则都会返回200 )。
| 归档时间: |
|
| 查看次数: |
7718 次 |
| 最近记录: |