我目前正在努力解决涉及REST的设计问题.我正在设计的应用程序需要发送事件并支持pub/sub交互方式.在没有破坏REST的"无状态交互"约束的情况下,我无法想出提供这些交互风格的设计.我不是反对民意调查,因为有些人似乎(民意调查很糟糕),但我的申请需要基于事件和发布/互动的互动方式(民意调查对我来说不是一个选项).所以,我的问题是:
我是否可以设计一个支持基于事件和发布/订阅交互的RESTful应用程序,而不会破坏REST约束?
REST风格适合这种交互方式吗?
Colin Jack.. 17
我推荐Duncan Cragg 的分布式观察者模式作为一个很好的阅读(有点难以理解,但值得付出努力).
正如其他人已经指出它可能你需要使用轮询,但你正确地说订阅者可以注册他们自己的兴趣(POST来创建订阅).如果您将订阅视为自己的资源,发布者和订阅者之间的合同,那么我不会将其视为一个重要的REST约束(请参阅RESTful Web服务的第217页的状态和无状态,了解应用程序和资源状态之间的区别)
我推荐Duncan Cragg 的分布式观察者模式作为一个很好的阅读(有点难以理解,但值得付出努力).
正如其他人已经指出它可能你需要使用轮询,但你正确地说订阅者可以注册他们自己的兴趣(POST来创建订阅).如果您将订阅视为自己的资源,发布者和订阅者之间的合同,那么我不会将其视为一个重要的REST约束(请参阅RESTful Web服务的第217页的状态和无状态,了解应用程序和资源状态之间的区别)