搜索文档是否存在于JSON API中,而不是主要标识符

时间:2015-09-28 16:46:16

标签: api rest json-api

我正在构建一个JSON API并拥有一个user资源。 userid作为其主要标识符和其他一些字段:facebook_idlinkedin_id等等。

我需要检查某个user是否存在,只有其他字段之一(例如:facebook_id)。我无法使用/users/<id>并检查它是否返回404,因为我没有主要标识符。

我考虑使用/users/exists?<field>=<value>,但我不确定这是否是使用JSON API的正确方法。

我的问题是,我应该创建什么样的端点,如果文档存在与否,它应该返回什么代码,以及什么样的主体?

1 个答案:

答案 0 :(得分:1)

您可以将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'