restful 风格 api 的一些疑问 | go | go 技术论坛-江南app体育官方入口
给用户分配角色有如下两个设计
post /api/v1/user/assign-roles
{ userid: 1, roleids: [1,2,3] }
/api/v1/user/:id/roles
{ roleids:[1,2,3] }
我喜欢第一种方式,原因有两个
- 参数全部在一起,后端一个结构体直接全部接收
- 后端的方法只需要一个入参参数,如下
func (i *roleservice) assignroletouser(req *assignroletouser) error { ... }
第二种则需要两个参数,我不喜欢这种,不喜欢的原因如下(但是 gpt,豆包回答都推荐这种方式)
- 接收参数需要多一行代码去接收id,然后再接收参数
- 方法入参变成了两个
- 方法名称意义模糊
func (i *roleservice) assignroletouser(userid uint, req *assignroletouser) error { .... }
大家觉得哪一种更好,为什么?如果都不好,那么更好的应该是什么样子的?
九九一十八,一步一个脚印
推荐文章: