2

刚开始摸索ATK4。我想将它用作后端 API(如果可能)以及基于 API 将使用的相同数据创建一个小型 CMS。该 API 将由浏览器插件访问,因此 ATK4 不会进行渲染。

所以基本上我的问题是,ATK4 是否支持创建自己的 REST API,或者我基本上必须自己创建这个功能?我找到了 API 文档,但他们似乎专注于为渲染“引擎”提供 API 方法。

如果我应该自己做这个,在 ATK4 上实现这个的最好方法是什么?(就未来的兼容性而言)。

谢谢

4

1 回答 1

3

有一种直接的方法可以解决这个问题,也有一种通用的方法。

直接的方法就是这样简单:

class page_api_article_add extends Page {
    function init(){
         parent::init();
         try {
             $this->add('Model_Article')->set($_POST)->update();
             echo json_encode("OK");
             exit;
         }catch (BaseException $e){
             echo json_encode($e->getMessage());
             exit;
         }
    }
}

更复杂的解决方案包括构建以下项目:

  • 您需要一个基于 ApiCLI 的自定义 API。
  • 您需要单独的页面路由
  • 在 API 中,您需要定义可以通过 API 访问哪些模型以及应该使用哪个控制器
  • Controller 将在模型上实现参数验证和操作,例如创建、更新、删除、复制等
  • 支持密钥认证
  • 自定义例外

我曾经实现过这个,但我需要与我的客户协商,以确保我可以将代码捐赠给 atk4-addons。

目前,我建议您在通用 API 发布之前走“直截了当”的路线。

于 2011-10-10T22:26:55.657 回答