Grails

2010-05-03 23 views
5

ठीक है में एक दृश्य की JSON उत्पादन, मैं Grails में बनाए गए एक बहुत ही सरल अनुप्रयोग है। मैं एक उत्पन्न डोमेन वर्ग (व्यक्ति) और उसके उत्पन्न नियंत्रक है, का उपयोग कर स्वत: Grails मचान:Grails

package contacts 

class PersonController { 

    def scaffold = Person 

} 

अब मैं एक व्यक्ति वस्तु की एक JSON प्रतिनिधित्व प्राप्त करना चाहते हैं।

क्या मुझे दृश्य या नियंत्रक को बदलना है? और कैसे?

धन्यवाद।

उत्तर

9

अपने नियंत्रक के लिए निम्न जोड़ें:

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

यह भी करने के लिए अन्य तरीके हैं, लेकिन मैं परीक्षण के लिए चारों ओर मचान छोड़ने के लिए ऐसा करने की तरह।

+0

ग्रेट। आप के बजाय का उपयोग करना चाहिए 'स्थिर responseFormats = [" json "," html "]' अपने नियंत्रक में और ('प्रतिक्रिया की तरह उत्पन्न कोड रखने के रूप में: मेरे लिए) – daliz

+0

थोड़ा बहुत जटिल, अपने सटीक और व्यापक उत्तर के लिए धन्यवाद उपयोगकर्ता सूची (पैरा) ... ')। स्वरूपों को संभालने के लिए कोड लिखने की आवश्यकता नहीं है। शर्म की बात यह है कि हम किसी भी नियंत्रक कोड उत्पन्न किए बिना मचान और जेसन का उपयोग करने में सक्षम होना चाहिए –