有价值? REST API

时间:2017-09-08 20:58:54

标签: symfony graphql fosrestbundle jms-serializer

我已经阅读了一些有关GraphQL的主题,我喜欢的一个很棒的功能是你可以指定你想要的字段(Client End)。 我想也许我也可以将它添加到REST API中。我环顾四周,发现已有这样的规范:fetching-sparse-fieldsets

所以我试图在Symfony中添加这样的功能。 (特别是在FOSRestBundle + JSMSerializer中)。 但我不太确定它是否有价值。有人可以给你建议吗?

1 个答案:

答案 0 :(得分:0)

这是您应该向API用户和客户提出的问题。它可能对API用户有用,但它有很多缺点:

  • 通过自己构建,您可以花费大量时间来开发,测试和维护这个“可选”功能。客户愿意付钱吗? (YAGNI
  • 如上所述,您必须维护此功能的代码,除非您决定发布新的API版本,否则无法将其删除。随着外部包的更改,您的代码可能还需要更新。
  • 故障排除时可能会变得困难。 API用户可能正在尝试检索API URL中未指定的字段(当然,项目转移到其他开发人员后会出现这些问题)。问题可能出现为什么有些数据不可用,但是在API文档中有。

特别是列表中的第一个非常重要。不要构建客户不需要的功能。就个人而言,我总是返回所有可用的可访问数据,甚至是空值。 API用户决定如何处理该数据。我猜这些天带宽并不是一个问题。