【问题标题】:set RequestHandler to use XmlView by default将 RequestHandler 设置为默认使用 XmlView
【发布时间】:2013-06-13 11:10:29
【问题描述】:

我正在为 API 使用 Xml/Json 视图。

转到“/Api.json”或“/Api.xml”工作正常,但我希望在发布到“/Api”时默认使用 XmlView

完成这项工作的最简单/最好的方法是什么?

  • 编辑: 正如 Jelmer 所提到的,只需执行 '$this->layout = "xml"' 就可以了——他们应该在文档中提到这一点。

【问题讨论】:

  • 在您的ApiController::beforeRender() 中添加$this->layout = 'xml' 或者我没有理解您的问题?
  • 你可能会做一些路由的事情来让它工作,但这将是非常不标准的。大多数 API 调用使用扩展(传统上;没有硬性规则),因为它对程序员来说更清晰。为什么要删除扩展程序?这些 URL 没有出现在浏览器地址栏中,所以我看不出让它们漂亮有什么意义?
  • 这也是一个公共 API,并且是从现有 API 转换而来的。因此,将其默认为 xml 非常好。 Jelmer 是对的,使用 '$this->layout = "xml"' 就可以了。

标签: xml cakephp requesthandler json-view


【解决方案1】:

真正的诀窍是这一行,必须查看 api 文档并尝试几件事:

public function beforeRender() {
    if(empty($this->RequestHandler->request->params['ext'])) {
        $this->RequestHandler->renderAs($this, 'xml'); 
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-02-12
    • 1970-01-01
    • 1970-01-01
    • 2015-02-17
    • 2012-11-10
    • 2023-03-15
    • 1970-01-01
    相关资源
    最近更新 更多