使用Restful API的状态机转换
我有一个概念性的问题,即在RESTfulAPI中,在状态机内部提供可用转换的首选方式是什么 假设我们有一个用状态机操纵门的API: 我设想为更新状态提供rest端点,如下所示:使用Restful API的状态机转换,rest,state-machine,Rest,State Machine,我有一个概念性的问题,即在RESTfulAPI中,在状态机内部提供可用转换的首选方式是什么 假设我们有一个用状态机操纵门的API: 我设想为更新状态提供rest端点,如下所示: PUT /doors/123/state { "state": "Closed" } 问题是,如何为客户机的特定门提供有关可能转换的数据。也就是说,如果车门被锁定,则只能进入关闭的状态。 我曾考虑在状态下添加另一个端点来列出转换,但我不确定这是否是一个好的做法 GET
PUT /doors/123/state
{
"state": "Closed"
}
问题是,如何为客户机的特定门提供有关可能转换的数据。也就是说,如果车门被锁定
,则只能进入关闭的状态
。
我曾考虑在状态下添加另一个端点来列出转换,但我不确定这是否是一个好的做法
GET /doors/123/state/transitions
{
"availableTransitions": [
"Closed"
]
}
还有更好的选择吗