我正在尝试编写一个 API,并努力寻找一种向资源添加自定义操作的好方法。例如,在我的 User 资源中,我想要操作enabled
和disable
,但在通常的蓝图分组中,我无法在组下添加这些:
## User [/users/{id}]
### Update a User [PATCH]
...
### Delete a User [DELETE]
...
### Disable a User [PATCH]
....
在这里,Disable a User
andUpdate a User
都指向同一个 URL,这不是我想要的。我希望这些分别产生 URL/users/{id}
和/users/{id}/disable
。
查看其他 API 源,其他人在不使用命名资源的情况下完成了它,这将给出:
## /users/{id}
### Update a User [PATCH]
...
### Delete a User [DELETE]
...
## /users/{id}/disable
### Disable a User [PATCH]
...
虽然我可以使用这种方法,但我更喜欢使用第一种方法,因为它在被大多数蓝图工具渲染时更清晰。
有没有一种方法可以使用第一种方法进行自定义操作,或者其他人是否有更清洁的方法来实现相同的事情