REST API架构

问题描述 投票:-1回答:1

我刚刚开始构建REST API,请参阅this guide。这是我第一次构建REST API架构,所以有些含糊不清。

  1. POST vs GET

在了解REST API之前,当我不希望暴露表单数据时(例如用户的ID,密码,电话号码),我选择POST。但是在REST API中,POST意味着“创建新资源”,如果我学到的是正确的。 如果是这样,以下案例的正确方法是什么:'检查用户的ID是否重复','找到我的ID或密码'

  1. 代表具体行动

REST API指南说使用名词来表示。 我通常通过动词+名词组合(e,g,checkId,findPassword)命名函数或方法。 那么什么是正确的(或更好的)表示方式?

GET / user / check-id GET / user / id / check GET / user / id / duplicate

rest architecture api-design
1个回答
1
投票

Take a look at the RESTful verbs。 POST肯定用于创建一些东西,而GET是一个查询。话虽这么说,GET URL参数经常被记录在一起是绝对正确的,如果它们包含敏感数据,则不应在GET URL中使用它们。

要检查用户的ID是否重复,我将使用用户的ID进行POST,并返回HTTP 409代码(如果已存在)。

查找密码是一个不同的问题。简而言之,不要这样做。您永远不应该以纯文本形式存储用户密码。这样做是当今计算世界的疏忽。重置密码应该包括创建密码重置请求(对/ user / id / reset的POST),这会导致密码请求通过另一个通道发送,但永远不会从GET请求返回密码。

© www.soinside.com 2019 - 2024. All rights reserved.