Zoeken…


Invoering

De eenvoudigste manier om een RESTful API in Grails te maken, is door een domeinklasse als REST-resource weer te geven. Dit kan worden gedaan door de grails.rest.Resource-transformatie toe te voegen aan elke domeinklasse.

Eenvoudige REST API met grails

import grails.rest.*

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

    String title

    static constraints = {
        title blank:false
    }
}

Door eenvoudigweg de resourcetransformatie toe te voegen en een URI op te geven, is uw domeinklasse automatisch beschikbaar als REST-bron in XML- of JSON-indeling. De transformatie registreert automatisch de benodigde RESTful URL-toewijzing en maakt een controller met de naam BookController.

Je kunt het proberen door enkele testgegevens toe te voegen aan BootStrap.groovy:

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

En vervolgens op de URL http://localhost:8080/books/1 , waardoor het antwoord als volgt wordt weergegeven:

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

Als u de URL wijzigt in http://localhost:8080/books/1.json , krijgt u een JSON-reactie zoals:

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

Als u de standaardinstelling wilt wijzigen om JSON te retourneren in plaats van XML, kunt u dit doen door het kenmerk indelingen van de brontransformatie in te stellen:

import grails.rest.*

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

Toewijzing aan REST-bronnen

Als u liever de aangifte van de URL-toewijzing in uw UrlMappings.groovy-bestand wilt UrlMappings.groovy , volstaat het eenvoudig om het uri-kenmerk van de brontransformatie te verwijderen en de volgende regel toe te UrlMappings.groovy aan UrlMappings.groovy :

"/books"(resources:"book")

Uw API uitbreiden met meer eindpunten wordt dan triviaal:

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

In het bovenstaande voorbeeld wordt de URI /books/1/publisher.

Voeg HTTPS toe aan Grails Server

SSL-certificaten gebruiken zogeheten public key cryptography. We moeten HTTP in plaats van HTTP gebruiken om gegevens tussen servers veilig te houden en het vertrouwen van klanten te verbeteren. Om deze optie in grails in te schakelen, moeten we onze app anders uitvoeren. Het onderstaande commando:

grails run-app -https


Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow