Rest 对其他资源的副作用

Rest 对其他资源的副作用,rest,Rest,这是一个关于RESTful和HATEOAS设计的理论/最佳实践问题 鉴于资源: /myresources/(我们资源对象的集合) 及 /事务/(系统中发生的历史事务的集合) 这是否适用于以下情况: 员额/我的资源/ 是否不仅在/myresources/处创建新资源,而且在/transactions/处创建新资源 换句话说,对一个URL的帖子(或任何动词)能否同时影响该URL和其他URL上的资源?还有别的办法吗?显然,我们可以使用两个帖子,但这需要我们信任用户在多资源修改中保持有效状态。我觉得这完

这是一个关于RESTful和HATEOAS设计的理论/最佳实践问题

鉴于资源:

/myresources/(我们资源对象的集合)

/事务/(系统中发生的历史事务的集合)

这是否适用于以下情况:

员额/我的资源/

是否不仅在/myresources/处创建新资源,而且在/transactions/处创建新资源


换句话说,对一个URL的帖子(或任何动词)能否同时影响该URL和其他URL上的资源?还有别的办法吗?显然,我们可以使用两个帖子,但这需要我们信任用户在多资源修改中保持有效状态。

我觉得这完全合理。创建新资源的人无法判断这是否是通过另一个客户端轮询新资源,然后注入事务资源来实现的,对吗


因此,在这个级别上没有任何概念问题,更不用说“服务器创建新资源是否合理”级别了。

是的,这很好。设想另一种情况,系统公开一个
/myresources/latest
URI。当没有资源时,可能返回404,但是当您开始发布资源时,规范URI和
最新的
URI都将返回200 OK。这种方法有很多有用的好处


但是,在设计此类资源时,请记住缓存。例如,如果您发布到
/myresources/
集合,您将使沿途任何缓存中的该集合无效。但是,您不会使
/transactions/
集合无效,这两个索引可能会不同步。它们可能在整个系统中不同步,这取决于多个客户端和源服务器之间的缓存图,但通常,客户端被设计为期望在一定距离内此操作是同步的,在这种情况下,缓存可能会阻止这一点。

有用的想法,谢谢!在几乎所有可更新的RESTful API中都不会出现缓存问题吗?使用last mod头文件不会缓解这个问题吗?