【问题标题】:Symfony 3 - Should I create two different controllers for REST and normal HTML?Symfony 3 - 我应该为 REST 和普通 HTML 创建两个不同的控制器吗?
【发布时间】:2018-12-19 08:56:34
【问题描述】:

Symfony 3 - 我应该为 REST 和普通 HTML 创建两个不同的控制器吗?

我已经有一个使用 Symfony 控制器和 twig html 模板的 Web 应用程序。所以我已经编写了业务逻辑来获取内容。现在我想公开 REST API 以与第三方共享此内容。我应该使用 fosrestbundle 编写一个单独的控制器吗?或者我可以对 json 和 HTML 使用相同的控制器吗?如果是,如何?

【问题讨论】:

  • 如果合适(足够相似),您可以重复使用您的表格,例如this tutorial 为起点。
  • 控制器可以有多个动作,一个可以返回JSON,另一个可以返回text/html。福斯雷斯特不在乎。

标签: symfony fosrestbundle


【解决方案1】:

这可能是一个非常主观的问题,每个程序员都会对此有不同的看法。

我会尽力给你答案的……

页面请求的 REST 数据是否已经由控制器处理,为简单起见,添加一个简单的 json 返回函数可能是更好的选择。 要求是否更大,例如第三方应用程序可以访问它,您应该使用专用的 REST API,因为可能对安全性、响应时间等有完全不同的要求。 一方面,一个简单的 Controller 无法为您提供这些功能,另一方面,通过额外的 API 遵循单一职责原则会更简洁。 但考虑创建额外的 API 也需要更多时间。

所以现在您应该自己决定现在和将来是否需要专用 API。我觉得需要第三方访问需要额外的 API。

【讨论】:

    猜你喜欢
    • 2014-12-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-07
    • 2014-03-27
    • 2011-05-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多