【问题标题】:Rendering json views from controller in Grails从 Grails 中的控制器渲染 json 视图
【发布时间】:2017-07-16 01:08:43
【问题描述】:

我发现 Grails 3.2+ 支持 json 视图,这为响应具有 json 提供了一种优雅的方式。

那么有没有一种方法可以让我们从控制器渲染一个自定义 JSON 模板,而不是在请求 URL 中使用“.json”。我尝试使用渲染方法,但不断收到找不到模板的错误。另外通读文档我似乎无法找到一种方法来做到这一点。这还受支持吗?

【问题讨论】:

    标签: grails grails3.2.0


    【解决方案1】:

    在 url 中包含 .json 只是另一种指定接受内容类型的方法。您可以指定标题。

    有关如何使用 json 视图的说明,请阅读文档:http://views.grails.org/latest/

    class Controller {
        def index() {
            [foo: new Foo()]
        }
    }
    

    /grails-app/views/controller/index.gson

    @Field Foo foo
    
    json g.render(foo)
    

    【讨论】:

      【解决方案2】:

      您可以使用 render(json:"path") 从控制器渲染任意 gson 视图。

      SomethingController{
      
      def giveMeJson(){
            render(json:"my_template",model:[some_data:some_instance])
      }
      
      }
      

      【讨论】:

        猜你喜欢
        • 2012-02-28
        • 2012-01-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-04-04
        相关资源
        最近更新 更多