其中哪些方法符合RESTful标准?

问题描述 投票:0回答:2

1)前端将进行GET调用以检查用户是否已存在。进行此检查后,如果该用户不存在,则前端将进行POST调用以创建该用户。

2)前端将立即进行POST调用,后端将检查用户是否存在,如果该用户存在,则将详细信息返回给前端。如果用户不存在,请创建一条记录,并将详细信息还原到前端。

根据标准,哪种方法更好?

java reactjs performance standards restful-url
2个回答
0
投票

由于您的问题带有绩效标记:

当注册有效时,仅发送POST呼叫的第二种方法会快一点。当它无效(用户名已被占用)时,您将有一点开销,因为您发送了实际上不需要的数据。

这里的问题是:您想实现什么?如果要在用户名输入字段中显示“用户名已被使用”,则必须使用GET请求。

如果只想显示更多(服务器端)验证,则可以拨打POST

不过,关于性能,我说的并不重要,我会根据您的用例选择合适的方法。


0
投票

您在说什么被称为upsert操作。

据我所知,REST本身并没有真正谈论它。真正的问题在于:

如果操作执行了INSERT或只是返回了已经存在的用户,客户端是否需要知道

也:如果客户端发送到POST端点的用户与数据库中已经存在的用户不同,您想做什么?

相关:In REST is POST or PUT best suited for upsert operation?

这里没有客观答案。它取决于客户的要求以及您希望API的外观。

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