Ricerca…


introduzione

Il modo più semplice per creare un'API RESTful in Grails è esporre una classe di dominio come risorsa REST. Questo può essere fatto aggiungendo la trasformazione grails.rest.Resource a qualsiasi classe di dominio.

Semplice API REST con graal

import grails.rest.*

@Resource(uri='/books')
class Book {

    String title

    static constraints = {
        title blank:false
    }
}

Semplicemente aggiungendo la trasformazione delle risorse e specificando un URI, la classe del dominio sarà automaticamente disponibile come risorsa REST nei formati XML o JSON. La trasformazione registrerà automaticamente la mappatura URL RESTful necessaria e creerà un controller denominato BookController.

Puoi provarlo aggiungendo alcuni dati di test a BootStrap.groovy:

def init = { servletContext ->
    new Book(title:"The Stand").save()
    new Book(title:"The Shining").save()
}

E poi colpendo l'URL http://localhost:8080/books/1 , che renderà la risposta come:

<?xml version="1.0" encoding="UTF-8"?>
<book id="1">
    <title>The Stand</title>
</book>

Se cambi l'URL in http://localhost:8080/books/1.json otterrai una risposta JSON come:

{"id":1,"title":"The Stand"}

Se si desidera modificare l'impostazione predefinita per restituire JSON anziché XML, è possibile farlo impostando l'attributo formats della trasformazione Resource:

import grails.rest.*

@Resource(uri='/books', formats=['json', 'xml'])
class Book {
    ...
}

Mappatura alle risorse REST

Se si preferisce mantenere la dichiarazione della mappatura URL nel file UrlMappings.groovy, rimuovere semplicemente l'attributo uri della trasformazione Risorsa e aggiungere la seguente riga a UrlMappings.groovy sarà sufficiente:

"/books"(resources:"book")

Estendere la tua API per includere più endpoint diventa quindi banale:

"/books"(resources:"book") {
    "/publisher"(controller:"publisher", method:"GET")
}

L'esempio sopra esporrà l'URI /books/1/publisher.

Aggiungi HTTPS al server Grails

I certificati SSL utilizzano qualcosa chiamato crittografia a chiave pubblica. È necessario utilizzare Https anziché Http per mantenere i dati protetti tra i server e migliorare la fiducia dei clienti. Per abilitare questa opzione in Grails, dobbiamo eseguire la nostra app in modo diverso. Il comando qui sotto:

grails run-app -https


Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow