我正在构建一个JSON API,并有一个user
资源。user
以id
为主要标识符,并有facebook_id
、linkedin_id
等字段。
我需要检查是否存在某个user
,仅通过具有其他字段之一(例如:facebook_id
)。我不能使用/users/<id>
并检查它是否返回404
,因为我没有主标识符。
我想使用/users/exists?<field>=<value>
,但我不确定这是否是JSON API的正确方法。
我的问题是,我应该创建什么端点,如果文档存在或不存在,它应该返回什么代码,以及什么主体?
您可以使用facebook id作为查询字符串的参数,如:
GET /users?facebookId=12345
如果HTTP状态码响应是200,那么用户确实存在,内容是用户资源,例如:
/users?facebookId={fb_id}:
get:
summary: ...
description: ...
parameters:
- name: fb_id
in: path
required: true
type: integer
responses:
"200":
description: ...
schema:
$ref: '#/definitions/userResource'