Rest API - 何时使用哪种方法

时间:2015-09-16 20:25:14

标签: api rest

我正在寻找一些Rest API教程和规范来构建它们。所以,我找到了一个(http://jsonapi.org/),并决定按照这个规范建立一个。

和许多其他人一样,在这一个中也很好地解释了响应和请求格式,但是我错过了端点结构和一些现实世界的例子何时使用哪种方法(POST,GET等...)

例如,/v1/api/users端点负责查询用户并创建它们。如果正确理解用户身份验证和注册,我应该使用创建单独的端点:

  • /v1/api/registration not /v1/api/users/registration
  • /v1/api/login not /v1/api/users/login

那是对的吗?

当我请求我的端点时,我应该使用哪种方法的方法怎么样?例如,我有以下端点:

  • /v1/api/login
  • /v1/api/activation

对于注册,显然应该使用PUT,POST因为它是CREATE方法但是这些登录和激活方法怎么样?因为它不是创建,删除或更新动作我认为我应该使用GET方法,但它是o.k.通过GET发送密码?

1 个答案:

答案 0 :(得分:0)

我一般处理登录的方式是创建一个/sessions端点,因为这是您登录时创建的资源。

所以登录时你会打电话:

POST /sessions
     username=john
     password=123456

成功后,它会将会话作为JSON对象返回:

{ id: 'some_unique_secure_id' }

对于激活,你可以有类似的东西:

POST /activations
     token=secure_token

例如,成功时,可以将用户作为JSON对象返回。