尽管人们在使用RESTful api方法时遇到的许多问题可以归因于贫血休息反模式,一些用例保证探索其他方法。特别是那些必须支持长尾客户端应用程序的组织(因此,即使他们使用了API版本,也可能会大量增加)消费者驱动的契约),并且有很大一部分api支持无限列表样式的活动feed,这可能会在RESTful架构中遇到一些限制。这些问题有时可以通过使用针对客户查询客户机-服务器交互的方法。我们看到这种方法在这两方面都得到了成功的应用GraphQL和Falcor,客户机可以更好地控制返回给它们的数据的内容和粒度。这确实将更多的责任推给了服务层,并且仍然可能导致与底层数据模型的紧密耦合,但如果建模良好的RESTful api不适合您,那么它的好处可能值得探索。
尽管人们在使用RESTful api方法时遇到的许多问题可以归因于贫血休息反模式,一些用例保证探索其他方法。特别是那些必须支持长尾客户端应用程序的组织(因此,即使他们使用了API版本,也可能会大量增加)消费者驱动的契约),并且有很大一部分api支持无限列表样式的活动feed,这可能会在RESTful架构中遇到一些限制。这些问题有时可以通过使用针对客户查询客户机-服务器交互的方法。我们看到这种方法在这两方面都得到了成功的应用GraphQL和Falcor,客户机可以更好地控制返回给它们的数据的内容和粒度。这确实将更多的责任推给了服务层,并且仍然可能导致与底层数据模型的紧密耦合,但如果建模良好的RESTful api不适合您,那么它的好处可能值得探索。