REST:创建相同资源的多种方式

Ale*_*ing 5 rest

如果您正在建模可以通过多种方式创建的资源,您如何最好地处理它?

我可以想象对同一个资源做 POST 使用一个查询参数来区分不同的方式,比如

POST /logins?type=pwd with body { email, pwd } -> CREATED /logins/1
POST /logins?type=token with body { token } -> CREATED /logins/2
Run Code Online (Sandbox Code Playgroud)

Dar*_*rov 2

我觉得一个人POST /logins应该够了。{email, pwd}可以使用包含或仅的有效负载来调用它{token}。此端点的实现应决定我们在哪种情况下以及在对正文进行必要的验证(提供电子邮件+密码或仅提供令牌)后如何创建资源。