【问题标题】:Naming Rest API endpoints for verification命名 Rest API 端点以进行验证
【发布时间】:2020-08-15 06:25:42
【问题描述】:

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

我应该如何命名端点?我想到的一种方法是 POST /user/{id}/verify-fp。这对吗??

如果用户被锁定,我想创建一个端点来获取。为此,我想不出任何名字。 请注意,我不想返回任何我只想返回的用户数据,无论是真还是假,因此 GET /users/{id} 对我不起作用。

【问题讨论】:

    标签: naming rest


    【解决方案1】:

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

     fpverification/<int:pk>/verify
    

    为了检查锁,我将它嵌套在用户路径下。因此,您的端点可能如下所示:

     users/<int:pk>/validate
    

    或者,如果您经常检查锁定状态,您可以在向原始链接发送请求时在用户负载中包含真/假状态。

    【讨论】:

      【解决方案2】:

      在某些情况下,“良好的 REST 设计”并不是每个用例的最佳方法。尽管可以坚持 REST 约定并严格考虑端点的完整状态传输,不要在 URI 中使用动词等,但为某些类型的操作(例如您的操作)这样做的痛苦可能不值得。

      像这样的端点确实感觉更像 RPC,而且更合适。因此,在诸如/user/{id}/verify-fp 之类的知名端点上使用POST 似乎是一个例外的好地方。

      【讨论】:

        猜你喜欢
        • 2017-01-14
        • 2021-07-01
        • 1970-01-01
        • 1970-01-01
        • 2015-06-29
        • 1970-01-01
        • 2016-07-28
        • 2015-02-22
        • 1970-01-01
        相关资源
        最近更新 更多