RESTful编程究竟是什么?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (45)

RESTful编程究竟是什么?

提问于
用户回答回答于

称为REST(Representational State Transfer)架构风格提倡Web应用程序应该像最初设想的那样使用HTTP 。查找应该使用请求。请求应分别用于变异,创建和删除GETPUTPOSTDELETE

REST支持者倾向于支持URL,例如

http://myserver.com/catalog/item/1729

但REST架构不需要这些“漂亮的URL”。带参数的GET请求

http://myserver.com/catalog?item=1729

就像RESTful一样。

请记住,绝不应该使用GET请求来更新信息。例如,GET请求将项目添加到购物车

http://myserver.com/addToCart?cart=314159&item=1729

不合适。GET请求应该是幂等的。也就是说,发出两次请求应该与发出一次请求没有什么不同。这就是使请求可缓存的原因。“添加到购物车”请求不是幂等的 - 发布它两次将该项目的两个副本添加到购物车。在这种情况下,POST请求显然是合适的。因此,即使是RESTful Web应用程序也需要它的POST请求份额。

用户回答回答于

这可能是它的样子。

创建具有三个属性的用户:

POST /user
fname=John&lname=Doe&age=25

服务器响应:

200 OK
Location: /user/123

将来,您可以检索用户信息:

GET /user/123

服务器响应:

200 OK
<fname>John</fname><lname>Doe</lname><age>25</age>

修改记录(lnameage保持不变):

PATCH /user/123
fname=Johnny

要更新的记录(以及因此lnameage将是NULL):

PUT /user/123
fname=Johnny

所属标签

可能回答问题的人

  • HKC

    红客学院 · 创始人 (已认证)

    27 粉丝7 提问5 回答
  • 西风

    renzha.net · 站长 (已认证)

    9 粉丝1 提问3 回答
  • 螃蟹居

    1 粉丝0 提问2 回答
  • 富有想象力的人

    2 粉丝0 提问1 回答

扫码关注云+社区

领取腾讯云代金券