首页 > 解决方案 > 如何制作一个get body旅行方法?

问题描述

你好我有以下问题,我已经开始研究API和RESTful 希望你能帮助我。

Get 方法通常通过 uri 发送,例如

http: // example / login? name = Xxxx

但是每种方法都必须保持按照方法指示做的标准。

POST update
PUT insert
GET get
DELEATE delete

但是如果我必须做一个 Get 但数据对 uri 中的旅行非常敏感。我该怎么办?将其更改为 Post 方法,使其在体内传播?

我知道它有 jwt 之类的安全术语,但在这种情况下,应该怎么做呢?

标签: apirestwebrequestrestful-url

解决方案


我必须做一个 Get 但数据对于在 uri 中旅行非常敏感。我该怎么办?将其更改为 Post 方法,使其在体内传播?

是的,完全正确。

从理论上讲,我们没有理由不能拥有一个有效只读且具有方法体的 HTTP 方法。但截至 2020-09 年,唯一符合要求的注册方法是SEARCHREPORT,它们都具有您可能想要避免的 WebDAV 语义。

在没有具有您需要的语义的标准方法的情况下,可以使用 POST

一种思考方式是,我们使用 POST 以请求的内容作为参数来创建新资源;新资源将有自己的标识符,从而掩盖敏感数据。然后,您可以随时使用新标识符获取资源的最新表示。

在这个基本想法的基础上,我们添加了在创建新资源时返回其表示的想法,并将该资源视为您不需要存储的短暂事物,因为它在使用后立即“消失”(这意味着随后尝试获取表示将 404)。

所以你最终可能会得到一个看起来像

201 Created
Location: /random-url-that-has-no-sensitive-information
Content-Location: /random-url-that-has-no-sensitive-information
Cache-Control: no-cache
....

推荐阅读