我有一个视图模型,它由以下三个字段组成:
- 开始日期
- EndData
- 状态
StartDate
和EndDate
字段存储在数据库中,可以在UI上进行编辑。Status
字段是在服务器端计算的,并且是只读的(它取决于两个日期,但此逻辑可以更改)。
当我在客户端更改日期并发送PUT请求时,我希望Status
也能在我的页面上更新。我看到了如何实现这一点的几个选项:
-
立即在客户端上更新状态。这对我来说不太合适,因为我需要复制已经是域模型一部分的状态确定逻辑。
-
更新后,使用GET请求手动重新读取模型。例如,如果我收到
205 Reset Content
响应,就会发生这种情况。 -
在PUT请求的响应中返回新的状态或整个模型。可能是一个选项,但据我所见,建议返回
200 OK
或204 No Content
状态。
取决于Status的含义。如果需要显示PUT是否成功,则可以在响应上更新Status。如果您需要额外的信息,那么明智的做法是发出另一个GET请求。