首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Restfull API组织端点

Restfull API组织端点
EN

Stack Overflow用户
提问于 2016-11-30 00:52:28
回答 1查看 71关注 0票数 0

我正在尝试组织我们正在构建的restfull api的端点。到目前为止,我所拥有的是:

代码语言:javascript
复制
GET - /api/members/list

GET - /api/members/:member_id
PUT - /api/members/:member_id
DELETE - /api/members/:member_id
POST - /api/members - add member

POST - /api/member/forgot_password
POST - /api/member/reset_password
POST - /api/member/sign_up - this is same as - POST - /api/members - add member
POST - /api/member/sign_in 
POST - /api/member/validate

POST - /api/member/auth/twitter
POST - /api/member/auth/gplus
POST - /api/member/auth/facebook

问题是我不太确定

代码语言:javascript
复制
POST - /api/members/forgot_password
OR
POST - /api/member/forgot_password

//For register a member to use post over resource
POST - /api/members
OR
//To have endpoit for that
POST - /api/member/sign_up

因此,我对restfull概念的理解是在资源上使用请求动词。但是,当我们有/api/members资源,并且我希望有一个端点用于登录成员时,这是如何应用的?

/api/members/sign_in/api/sign_in/api/member/sign_in

EN

回答 1

Stack Overflow用户

发布于 2016-11-30 04:18:40

对我来说,使用复数或单数名词是一个味觉问题。

GET /api/members应该合理地返回一个成员集合,而获取一个成员集合对于使用任何一个成员都是非常有意义的

GET /api/members/{id}

GET /api/member/{id}

因此,如果您对forgot_password资源的关注是关于复数或单数形式,那么就没有“更好的方法”了。由你决定。

为了注册会员,我发现这个选项更合适

POST /api/members

因为您实际上正在尝试创建一个新的member资源。

关于你的最后一个问题,同样是关于你如何映射你的sign_in资源的问题。sign_inmembers的一个子资源有意义吗?在给出答案之前,请注意您所描述的资源类型中包含的陷阱。您确定将sign_in看作是一件事而不是一种行为吗

在这种情况下,我相信sign_in资源会更自然地放在不同的根目录下。然而,值得一提的是,在REST中登录有点棘手。由于不允许服务器保留任何会话,因此您必须知道必须对每个请求进行身份验证(通常是通过令牌)。我不想离题,也许你会想在实现你的登录机制之前先阅读this

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40871375

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档