| 

.NET C# Java Javascript Exception

Rest und Grails

Dies ist das Archiv des ehemaligen Forums zum Thema Groovy, Grails, Griffon und Bean Scripting Framework, welches unter groovy-forum.de existierte. Die neue Adresse des Groovy-Forums ist: http://codekicker.de/fragen/themen/groovy.


Rest und Grails

ib - 12.10.2010 10:53
Hallo!

Ich veröffentliche mit Rest und der Methode showXml ein Buch. Will ich es allerdings wieder ausgeben mit auslesen() erhalte ich eine NullPointerException:

java.lang.NullPointerException: Cannot get property 'book' on null object

def showXml = {
        if(!params.max) params.max = 1
        def list = Book.list(params)
        withFormat{
            xml{
                 render list as XML
            }
        }        
    }

    def auslesen = {
        def xml = request.XML.book.title
        println xml
    }

Wie muss ich die Methode auslesen verändern, damit ich das angelegte Buch auslesen kann?


Re: Rest und Grails

christian - 12.10.2010 13:07
Hallo,

warum sollte das Request-Objekt "XML.book.title" enthalten?

Gruß
Christian


Re: Rest und Grails

ib - 13.10.2010 11:23
Hallo!

Ich habe das Book-Beispiel aus dem Grails-Tutorial genommen und das Ergebnis sieht folgendermaßen aus:

http: //localhost: 8080/GrailsApplication1/book/showXml

<list>
<book id="1">
<author>
ib
</author>
<title>
new book
</title>
</book>
</list>


Re: Rest und Grails

xenji - 13.10.2010 23:43
Ich glaube hier ist ein kleiner HTTP Exkurs fällig ;)

Das Request Objekt enthält die mit der Clientanfrage verbundenen Daten. Dies ist zum Einen die URL und einige Metadaten über den Sender und zum Anderen die möglichen Informationen, die darüber hinaus gehen. Üblicherweise sendet man Daten aus Formularen per POST in einem Formular, die sich einer Kodierung mit dem leicht zu merkenden Namen "application/x-www-form-urlencoded" befinden (Ausnahmen bilden hier Dateiuploads, die brauchen einen Multipart Mimetype). Diese sind dann in im Falle von Grails, im Request Objekt verfügbar. Neben POST, und da wird es gerade für REsT interessant, gibt es noch GET, PUT, DELETE und HEAD (sowie TRACE, CONNECT und OPTIONS, die ich pers. noch nie manuell benötigt habe).

Um nun dein XML in der Art zur Verfügung zu haben, wie Du es Dir im Codebeispiel erhoffst, müsstest Du das XML, z. B. in einem Formular unterbringen und es absenden. Alternativ kannst Du Dir auch wget oder cUrl auf der Linux Shell nehmen und den Inhalt einer Datei per POST oder PUT an Deinen Endpunkt senden.

Infos zum Nachlesen:
HTTP: [www.elektronik-kompendium.de]
REsT: [en.wikipedia.org]
Manpage cUrl: [curl.haxx.se]
Manpage wget: [linux.die.net]

Bei Fragen, meld Dich einfach ;)

Grüße,
xen.


Stelle deine Groovy-Frage jetzt!


Diese Seite zeigt den Thread "Rest und Grails" der ehemaligen Webseite groovy-forum.de, welche durch einen Serverunfall zerstört wurde. codekicker.de hat viele Konversationen über die beliebte Programmiersprache Groovy und zugehörige Frameworks wie das Grails-Framework retten können.

Hast Du eine Frage zum Thema Groovy, Grails oder allgemein Java? Viele ehemalige groovy-forum.de Mitglieder beantworten dir auf codekicker.de deine Frage! Stelle jetzt eine Frage!

Viele weitere Diskussionen zu Grails und Groovy befinden sich auf der Threadübersicht des alten groovy-forum.de.