【问题标题】:Apigility API structureApigility API 结构
【发布时间】:2015-06-21 18:39:44
【问题描述】:

我想用 Apigility 替换我们内部的 REST 系统并有一些问题。

  1. 我们拥有大量分层结构的资源(大约 1500 个)。 Apigility 适用于资源的平面列表。当有大约 100 - 200 个资源时,这是可以的。数量庞大时可能很难处理。有没有办法将结构分解为子模块或类别或类似的?

  2. 由于 Apigility 将所有配置存储在文本文件中,大量字段和文档可能会导致性能和/或内存问题。有没有办法将字段/配置拆分成单独的文件(或其他东西)?

  3. 某些资源用于 PDF 文件下载。是否可以使用 GET 方法提供 oAuth2 访问令牌?该文件的链接是使用 A 标记创建的,并且不能使用 HTTP 标头。

【问题讨论】:

  • 你考虑过“代码连接”吗?这使您可以定义自己的路由签名。
  • 不,我没有,我会调查的。

标签: php api structure laminas-api-tools


【解决方案1】:

1. 是的,您可以像通常在 ZF2 应用程序中那样使用带有自己的 module.config.php 文件的多个模块。拆分成几个配置文件也很有用。例如,您可以创建: metadata.config.phpcontroller.config.phpinputfilter.config.php

然后在 module.php Module::getConfig 方法中合并配置文件。 这可以帮助您井井有条。

2 很容易覆盖/扩展Apigility 模块的默认配置。根据您想要定制的程度,您还可以构建自己的工厂和映射器,您可以在其中尝试最大限度地减少配置文件中的代码重复。在 ZF2 生产环境中像往常一样进行缓存时,您的配置文件应该不会对性能产生太大影响。

3. 是的,您可以使用以下方式在 url 中传递访问令牌:

api/v1/documents/1?access_token=1234567890abcdefghijklmnopqrstuvqxyzABCD

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-07-28
    • 1970-01-01
    • 1970-01-01
    • 2014-12-14
    • 2013-01-06
    • 2018-11-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多