REST API中用于验证电话号码的路由和http方法应该是什么?

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

我很好奇我需要使用API​​端点结构和HTTP方法来成功验证电话号码。根据REST API准则,我需要使用哪种正确格式?每个API还应返回什么响应?

我正在尝试更新电话号码。这是我尝试过的:

API 1-POST / verification-创建验证实体并发送验证码

输入:phone_number: '+19876543210'

响应:

{id: 'verification_id', status: 'enum[pending, completed]'}

API2-POST / verification / {verification_id} / verify

输入:code: '123456'

响应:

{id: 'verification_id', status: 'enum[pending, completed]'}

API3-PATCH /帐户/:id /个人资料-替换当前电话号码

输入:{id: 'current_phone_id', number: 'new_number', verification_id: 'verification_id'}

响应:

Updated Profile object
javascript rest api-design
1个回答
0
投票

嗯,这很大程度上是基于意见的。但是,根据您的建议,我可能会这样做。

1。 -POST /帐户/ {帐户} /电话添加新电话号码(未经验证,发送短信)

您应将资源端点命名为复数形式,通常这是最佳的做法。正如@ sp00n已经指出的那样,verification有点过于笼统,您可以在此处包括电话。

此端点也应以HTTP 202 Accepted作为响应,因为资源仅部分准备就绪(正在等待短信)。或者至少使用201 Created,因为已经创建了新资源。

2。 -PATCH /帐户/ {帐户} /电话/ {电话}验证电话号码

使用POST /verification/{verification_id}/verify听起来更像是rpc呼叫。在静态API中,您通常可以通过修改资源来更改其状态。

3。 -PATCH /帐户/ {帐户}-替换主要电话号码

输入:{id: 'user_id', primary_phone: 'phone_number'}

这种方式,电话是帐户的子资源,无需在更改主要电话号码后将其删除。

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