restful 的一些疑问

发布于 2022-09-11 14:30:03 字数 583 浏览 19 评论 0

UserController

user表
id mobile password
user_info 表
uid nickname sex avatar 

--登陆
function actionLogin()

end

--注册
function actionRegister()
 
end

--注销
function actionSignOut()

end

--修改密码
function actionModifyPassword()

end

--获取用户详细信息
function actionInfo()

end

restful 应该怎么来转换这些url
/user/register 这个我可以理解成 post /users
/user/login 这个应该怎么转换?
/user/sign-out 这个可以理解成  put /users 
/user/modify-password 这个可以理解成 put /users
/user/info 这个应该怎么转换? get /users/id/info 
如果是这样的话,我感觉很迷茫, 是不是应该 新写一个UserInfoControler get user-infos

用restful我感觉自己不知道要怎么写代码啊。。。。求帮忙。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

木格 2022-09-18 14:30:03

不要将restful理解为不在url中使用动词,你可以把登陆看作一个服务,post /login 就行了。
要理解restful首先得直到Representational State Transfer每个单词指的是什么。Representational表现(具象)指资源(resource)表现给你的样子。
state状态是指资源当前的状态,你增删改都可以理解为改变资源的状态,比如从user数据1条变为2条,某个user名字改变。
transfer就是指状态改变的这一过程,从客户端到服务端,怎么将这么一种变过传输过去,那就是通过http的GET、POST、PUT、DELETE,通过这四个动词告诉服务端资源的状态如何改变。
而理解这些的前提就是,你要将uri看作是一种资源,资源可以是某个实体类(user),可以是某个服务(login),因此对于动词我们应尽量转为名词,但是此处login用动词显然更明了,那我们就用动词也没关系。
当然rest还有其他的一些约束,比如说利用http的状态码表示操作的状态,比如数据传输使用json格式等等。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文