【问题标题】:Grails Rest RequestGrails 休息请求
【发布时间】:2011-11-09 14:05:26
【问题描述】:

我有这个控制器:

 def list = {

        withFormat {

            xml { render Customer.list() as XML }

            html {
                params.max = Math.min(params.max ? params.int('max') : 10, 100)
                [customerInstanceList: Customer.list(params), customerInstanceTotal: Customer.count()]
            }
        }

    }

这基本上显示了我网页中的所有客户,但它也旨在作为 xml 列出以进行休息响应。我正在使用 WizTools Rest Client 2.33 通过休息调用列表方法。这里发生的是,如果我通过浏览器调用控制器,一切正常,所有客户都在页面中列为 html。如果我通过休息调用它,我得到的响应是呈现相同的 html 页面代码。在上面的代码中,我试图取出 html 部分,这样剩下的响应就是我所期望的(xml)。所以,我认为可能缺少一些东西,因为控制器无法识别休息请求。任何帮助将不胜感激。

【问题讨论】:

    标签: rest grails request


    【解决方案1】:

    withFormat 的工作方式是查看操作扩展,因为没有更好的术语。如果您希望返回 xml 而不是 html,则您的 URL 需要类似于:

    http://localhost/app/customer/list.xml

    【讨论】:

    • 好的。但我希望控制器同时处理 html 和休息请求。两个在同一个控制器中。这可能吗?
    • 我将标题的内容类型更改为:'text/xml',现在可以正常工作了。
    • 使用 content-type 标头确实是关键:参见grails.org/doc/1.3.7/guide/…。也许您可以用正确的答案来描述它?
    猜你喜欢
    • 2016-07-14
    • 1970-01-01
    • 1970-01-01
    • 2022-01-13
    • 1970-01-01
    • 1970-01-01
    • 2015-10-21
    • 2014-01-19
    • 1970-01-01
    相关资源
    最近更新 更多