首页新闻找找看学习计划

rest风格,有些情况不知道怎么写uri

0
悬赏园豆:5 [已解决问题] 解决于 2019-12-24 08:33

在一个用户账户管理模块(UserAccountController)里面,
有两个方法,
一个变更用户账户(changeAccount),
一个升级用户账户(levelUpAccount),
这样rest风格的url该怎么写?
http方法都是put;
参数列表也一样;
一个叫——/change/account;一个叫——/levelup/account;这样?
这还算rest风格吗?

lrj1596的主页 lrj1596 | 初学一级 | 园豆:31
提问于:2019-11-15 10:43
< >
分享
最佳答案
0

1楼给的就可以。

rest其实并不关心url如何组织,只是格式友好的url有利于使用者对api的理解。

https://linianhui.github.io/code-guide/http-api/#4.1.http-method

收获园豆:5
blackheart | 老鸟四级 |园豆:2284 | 2019-11-17 17:29
其他回答(2)
0

/account/change /acount/levelup 这样怎么样

会长 | 园豆:6040 (大侠五级) | 2019-11-15 11:12

这种出现动词的,还算rest风格吗?

支持(0) 反对(0) lrj1596 | 园豆:31 (初学一级) | 2019-11-15 11:58

@lrj1596: 我艹,我随便写的,你吓我一跳,我都不知道rest风格.......

支持(0) 反对(0) 会长 | 园豆:6040 (大侠五级) | 2019-11-15 16:09
0

你这个不满足rest风格风格不能接口url不能出现动词,而且你参数都一样,就没必要搞两个

put http://api.xxxx/account/或者put http://xxxx/api/acccoun/

小小咸鱼YwY | 园豆:1090 (小虾三级) | 2019-11-15 11:14

参数一样,但是里面的业务逻辑差很多啊,为什么不能搞两个????

支持(0) 反对(0) lrj1596 | 园豆:31 (初学一级) | 2019-11-15 11:54

我就想问下,如果参数列表一样,怎么写uri才能区分两个接口呢?能不能直接告诉我写法?
你的意思是:
put http://api.change/account/和put http://api.levelup/account/,这样???
那不是还是出现动词了吗??
你能不能直接写出来答案,教我该怎么写这个场景的两个uri?有劳!

支持(0) 反对(0) lrj1596 | 园豆:31 (初学一级) | 2019-11-15 11:57

@lrj1596: 不能出现动词levelup与levelup ,首先put提交就是数据更新的意思,至于你说怎么控制两种更新方式很简单由参数控制

支持(0) 反对(0) 小小咸鱼YwY | 园豆:1090 (小虾三级) | 2019-11-15 11:59

@小小咸鱼YwY: 我的意思就是不管具体动词名字叫什么,反正就是有两个方法对应两个uri,然后参数列表一样,http方法一样,这时候该怎么写来区分两个API;你不用告诉我不能怎么做,你只要告诉我怎么做是对的,就行了,
因为这种场景,应该必然会发生的吧??

支持(0) 反对(0) lrj1596 | 园豆:31 (初学一级) | 2019-11-15 12:11

@lrj1596: 你看我这篇博客吧https://www.cnblogs.com/pythonywy/p/11448845.html

支持(0) 反对(0) 小小咸鱼YwY | 园豆:1090 (小虾三级) | 2019-11-15 12:12

@lrj1596: 你按规范来就一个url她们操作都是单个目标,而且是部分修改有必要2个url吗????为什么有这个规范还不是drf框架中有封装后的视图类中有put方法就是单改,无论你升级也好还是修改账号他本身就是对于数据库数据的部分进行修改,如果说你升级是全部账号升级,那接口就是put http://......./accouts/复数的形式就好了,如果你还是只针对单一账号还是put http://......./accout/

支持(0) 反对(0) 小小咸鱼YwY | 园豆:1090 (小虾三级) | 2019-11-15 12:17
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册