grails
REST संसाधनों के रूप में डोमेन कक्षाएं
खोज…
परिचय
ग्रेड्स में एक RESTful API बनाने का सबसे आसान तरीका एक डोमेन वर्ग को REST संसाधन के रूप में उजागर करना है। यह किसी भी डोमेन वर्ग के लिए grails.rest.esource ट्रांस्फ़ॉर्म जोड़कर किया जा सकता है।
अनाज के साथ सरल रीस्ट एपीआई
import grails.rest.*
@Resource(uri='/books')
class Book {
String title
static constraints = {
title blank:false
}
}
बस संसाधन परिवर्तन को जोड़कर और एक URI को निर्दिष्ट करके, आपका डोमेन वर्ग स्वचालित रूप से XML या JSON प्रारूपों में REST संसाधन के रूप में उपलब्ध होगा। परिवर्तन स्वचालित रूप से आवश्यक Rustful URL मैपिंग को पंजीकृत करेगा और BookController नामक एक नियंत्रक बना देगा।
BootStrap.groovy में कुछ परीक्षण डेटा जोड़कर आप इसे आज़मा सकते हैं:
def init = { servletContext ->
new Book(title:"The Stand").save()
new Book(title:"The Shining").save()
}
और फिर URL http://localhost:8080/books/1
मारते हुए, जो प्रतिक्रिया को प्रस्तुत करेगा:
<?xml version="1.0" encoding="UTF-8"?>
<book id="1">
<title>The Stand</title>
</book>
यदि आप URL को http://localhost:8080/books/1.json
तो आपको JSON प्रतिक्रिया मिलेगी जैसे:
{"id":1,"title":"The Stand"}
यदि आप XML के बजाय JSON को वापस करने के लिए डिफ़ॉल्ट बदलना चाहते हैं, तो आप संसाधन परिवर्तन के प्रारूप विशेषता को सेट करके ऐसा कर सकते हैं:
import grails.rest.*
@Resource(uri='/books', formats=['json', 'xml'])
class Book {
...
}
अन्य संसाधनों के लिए मानचित्रण
यदि आप अपनी UrlMappings.groovy फ़ाइल में URL मैपिंग की घोषणा को रखना पसंद करते हैं, तो बस संसाधन परिवर्तन की uri विशेषता को हटा दें और निम्न पंक्ति को UrlMappings.groovy
जोड़ UrlMappings.groovy
:
"/books"(resources:"book")
अधिक अंतिम बिंदुओं को शामिल करने के लिए अपने एपीआई का विस्तार करना तुच्छ हो जाता है:
"/books"(resources:"book") {
"/publisher"(controller:"publisher", method:"GET")
}
उपरोक्त उदाहरण यूआरआई /books/1/publisher.
को उजागर करेगा /books/1/publisher.
ग्रेड सर्वर में HTTPS जोड़ें
SSL प्रमाणपत्र सार्वजनिक कुंजी क्रिप्टोग्राफी नामक कुछ का उपयोग करते हैं। हमें सर्वर के बीच डेटा सुरक्षित रखने और ग्राहक विश्वास में सुधार के कारण Http के बजाय Https का उपयोग करने की आवश्यकता है। अनाज में इस विकल्प को सक्षम करने के लिए, हमें अपना ऐप अलग तरीके से चलाना होगा। नीचे दिए गए आदेश:
grails run-app -https