5
好的,我在Grails中創建了一個非常簡單的應用程序。 我有一個產生域類(人)和其產生的控制器,使用自動的Grails腳手架:Grails中視圖的JSON輸出
package contacts
class PersonController {
def scaffold = Person
}
現在我想獲得Person對象的JSON表示。
我必須更改視圖或控制器嗎?如何?
謝謝。
好的,我在Grails中創建了一個非常簡單的應用程序。 我有一個產生域類(人)和其產生的控制器,使用自動的Grails腳手架:Grails中視圖的JSON輸出
package contacts
class PersonController {
def scaffold = Person
}
現在我想獲得Person對象的JSON表示。
我必須更改視圖或控制器嗎?如何?
謝謝。
以下內容添加到您的控制器:
def list = {
params.max = Math.min(params.max ? params.int('max') : 10, 100)
def personList = Person.list(params)
withFormat {
html {
[personInstanceList: personList, personInstanceTotal: Person.count()]
}
json {
render personList as JSON
}
}
}
這應該支持你的腳手架和JSON輸出。
您可以訪問腳手架爲:
http://localhost:8080/contacts/person/list
您可以訪問的個人列表作爲JSON:
http://localhost:8080/contacts/person/list?format=json
還有其他的方法來做到這一點,但我就像這樣去做腳手架來進行測試。
太好了。謝謝你的精確和全面的答案;) – daliz 2010-05-03 19:52:50
對我來說有點太複雜了:你應該在你的控制器中使用'static responseFormats = [「json」,「html」]'並且保持生成的代碼原樣(比如'response User.list(params)...')。無需編寫代碼來處理格式。恥辱是,我們應該能夠使用腳手架和json而不必生成任何控制器代碼 – 2014-06-26 22:47:30