【问题标题】:Complex service structure复杂的服务结构
【发布时间】:2012-10-10 22:56:48
【问题描述】:

我真的很喜欢 Restler,但我想确保我能够实现我的要求,我的第一次尝试失败了,但这可能是因为我没有完全理解它。

我想做的是拥有一系列服务,例如:

  • 用户
  • 应用程序
  • 行动
  • 关系

然后可以有休息服务如:

理想情况下,我希望在子类型级别对类定义进行分段。因此,在上面的示例中,我将有一个“首选项”和“目标”类来处理服务架构的“用户”部分下的请求。

我尝试过自动和手动路由(使用 @url 运算符),但似乎无法正常工作。

【问题讨论】:

    标签: php restler


    【解决方案1】:

    Restler 2和Restler 3在我们添加API Class时没有指定路径段时使用类名作为路径段

    Restler::addAPIClass($classname, $path=null); 
    

    如下映射偏好和目标

    $r->addAPIClass('Preferences', 'user/preferences');
    $r->addAPIClass('Goals', 'user/goals');
    

    如果你想单独处理手动路由的所有事情(类中没有路径段)

    $r->addAPIClass('Preferences', '');
    $r->addAPIClass('Goals', '');
    

    然后使用@url cmets

    【讨论】:

    • 非常感谢,但它仍然给我留下了一个问题:通过 addAPIClass() 方法添加首选项和目标时,我现在可以构建“/users/preferences.json”的服务,但如果我想构建“/users/{id}/preferences.json”?
    • 理想情况下,您应该在用户类中使用一些手动路由来处理所有这些偏好和目标,这些方法可能会在内部与目标和偏好类进行对话以获取各自的输出
    • 另一种选择是将偏好和目标映射到user,并为preferences{id}/preferences 等提供一些手动路线
    • 好的,感谢您的及时帮助。我会尝试在 User 类中处理它。
    猜你喜欢
    • 1970-01-01
    • 2012-07-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多