Buscar..


Introducción

La forma más fácil de crear una API RESTful en Grails es exponer una clase de dominio como un recurso REST. Esto se puede hacer agregando la transformación grails.rest.Resource a cualquier clase de dominio.

API REST simple con grails

import grails.rest.*

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

    String title

    static constraints = {
        title blank:false
    }
}

Simplemente agregando la transformación de recursos y especificando un URI, su clase de dominio estará disponible automáticamente como un recurso REST en formatos XML o JSON. La transformación registrará automáticamente la asignación de URL RESTful necesaria y creará un controlador llamado BookController.

Puede probarlo agregando algunos datos de prueba a BootStrap.groovy:

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

Y luego presionando la URL http://localhost:8080/books/1 , que mostrará la respuesta como:

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

Si cambia la URL a http://localhost:8080/books/1.json obtendrá una respuesta JSON como:

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

Si desea cambiar el valor predeterminado para devolver JSON en lugar de XML, puede hacerlo configurando el atributo de formatos de la transformación de recursos:

import grails.rest.*

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

Mapeo a recursos REST

Si prefiere mantener la declaración de la asignación de URL en su archivo UrlMappings.groovy, basta con eliminar el atributo uri de la transformación de recursos y agregar la siguiente línea a UrlMappings.groovy :

"/books"(resources:"book")

Extender su API para incluir más puntos finales se vuelve trivial:

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

El ejemplo anterior expondrá el URI /books/1/publisher.

Añadir HTTPS a Grails Server

Los certificados SSL usan algo llamado criptografía de clave pública. Necesitamos usar HTTP en lugar de HTTP debido a que los datos se mantienen seguros entre los servidores y a la confianza del cliente. Para habilitar esta opción en Grails, tenemos que ejecutar nuestra aplicación de manera diferente. El siguiente comando:

grails run-app -https


Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow