命名Rest API端点进行验证

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

在Rest API中,端点遵循的惯例是避免将它们命名为动词,如 getAllStudents. 但我最近面临的问题是,如何证明验证端点的合理性。例如,我想验证一个用户的指纹。

我应该给这个端点取什么名字呢?我想到的一个方法是 POST user{id}verify-FP. 这是正确的吗?

我想做一个端点来获取用户是否被锁定。为此我想不出任何名字。请注意,我不想返回任何用户数据,我只想返回是否为真或假,所以GET 用户{id} 对我来说是行不通的。

rest naming restapi
1个回答
0
投票

在某些情况下,"良好的REST设计 "肯定不是每个用例的最佳方法。虽然可以坚持REST惯例,严格从传输端点的完整状态来考虑,不要在URI中使用动词等,但对于某些类型的操作,如你这样做的痛苦可能是不值得的。

这样的端点当然感觉更像RPC,而且更适合。所以使用 POST 在一个命名良好的端点,如 /user/{id}/verify-fp 似乎是一个很好的破例的地方。


0
投票

对于你的第一个用例, /fpverification/{id}/verify 工作就可以了。虽然如果你用的是主键,更简单的方法是。

 fpverification/<int:pk>/verify

为了检查锁,我会把它嵌套在用户路径下。所以你的端点可以是这样的。

 users/<int:pk>/validate

或者,如果你经常检查锁的状态, 你可以在用户有效载荷中包含truefalse状态 当一个请求被发送到原始链接时。

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