我正在寻找一种很好的方法来建模更改REST中资源状态的命令。我已经搜索了互联网,并找到了各种解决方案,我想得到这些利弊的反馈。
考虑具有"isActive“状态的资源。如果资源当前的"isActive“状态为false,则可以使资源处于活动状态,而visa则相反。
解决办法:
- PROS: Very simple.
- CONS: No nice way to provide hypermedia to indicate to the client that the resource can be activated/deactivated.
- PROS: Hypermedia driven. Intuitive.
- CONS: Not truly RESTful (as action is conveyed in the Uri).
- PROS: Hypermedia driven.
- CONS: Not as intuitive as option 2.
- PROS: Hypermedia driven.
据你所知,他们还有其他的方法吗?
我很喜欢选项3,但没有在网上看到这种方法,所以它可能违反了一些REST原则!
发布于 2019-09-04 15:43:45
引用https://www.vinaysahni.com/best-practices-for-a-pragmatic-restful-api#restful
用RESTful原则把它当作子资源来对待。例如,GitHub的API允许您使用明星精神和
PUT /gists/{id}/star,无星可以使用DELETE /gists/{id}/star。
将此方法应用于您的案例:
PUT /resources/{id}/activeDELETE /resources/{id}/activehttps://stackoverflow.com/questions/57791766
复制相似问题