api - 如何制作一个get body旅行方法?
问题描述
你好我有以下问题,我已经开始研究API和RESTful 希望你能帮助我。
Get 方法通常通过 uri 发送,例如
http: // example / login? name = Xxxx
但是每种方法都必须保持按照方法指示做的标准。
POST update
PUT insert
GET get
DELEATE delete
但是如果我必须做一个 Get 但数据对 uri 中的旅行非常敏感。我该怎么办?将其更改为 Post 方法,使其在体内传播?
我知道它有 jwt 之类的安全术语,但在这种情况下,应该怎么做呢?
解决方案
我必须做一个 Get 但数据对于在 uri 中旅行非常敏感。我该怎么办?将其更改为 Post 方法,使其在体内传播?
是的,完全正确。
从理论上讲,我们没有理由不能拥有一个有效只读且具有方法体的 HTTP 方法。但截至 2020-09 年,唯一符合要求的注册方法是SEARCH和REPORT,它们都具有您可能想要避免的 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
....
推荐阅读
- android - 如何将单选按钮放在文本旁边?- 颤振
- android - 如何在房间数据库dao中附加两个或多个子查询,而这些子查询存储在变量中
- c++ - 为什么不管括号中输入的值有多高,sleep 都不等待?
- c++ - 即使功能已实现,C++ 架构 x86_64 的未定义符号
- php - 如何将数组放在另一个文件上
- python - Zipline-Trader 加拿大日历和自定义 CSV
- docker - Docker 问题:删除绑定安装的卷
- c# - 如何使用 swagger 或 postman 在 c# WebApi 中测试 HttpPostedFileBase 的文件上传
- computer-science - 我怎样才能证明这个 dFa 是最小的?
- c# - 从另一个类(不是 ASP.NET 等)访问 EF DBContext 数据库优先方法