从 Grails 中的控制器渲染 json 视图
Posted
技术标签:
【中文标题】从 Grails 中的控制器渲染 json 视图【英文标题】:Rendering json views from controller in Grails 【发布时间】:2017-07-16 01:08:43 【问题描述】:我发现 Grails 3.2+ 支持 json 视图,这为响应具有 json 提供了一种优雅的方式。
那么有没有一种方法可以让我们从控制器渲染一个自定义 JSON 模板,而不是在请求 URL 中使用“.json”。我尝试使用渲染方法,但不断收到找不到模板的错误。另外通读文档我似乎无法找到一种方法来做到这一点。这还受支持吗?
【问题讨论】:
【参考方案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])
【讨论】:
以上是关于从 Grails 中的控制器渲染 json 视图的主要内容,如果未能解决你的问题,请参考以下文章