Ich erkunde die Fähigkeiten der RESTful-Domäne in Grails 3.1.4 und bekomme seltsame Ergebnisse. Zum Beispiel habe ich dieses Domain-Objekt (und keine entsprechenden Controller):Suche nach einer bestimmten ID mit Rest in Grails
package resttest
import grails.rest.*
@Resource(readOnly = false, formats = ['json', 'xml'])
class Book {
String name
}
alle Objekte abfragen scheint gut zu funktionieren:
$ curl http://localhost:8080/book
[{"id":1,"name":"The Time Machine"},{"id":2,"name":"Moby Dick"}]
Aber ein bestimmtes Objekt immer fehlschlägt:
$ curl http://localhost:8080/book/1
{"message":"Not Found","error":404}
Ich muss etwas falsch machen, aber einfach kann ich es nicht sehen.
Ja, natürlich! Ich wurde durch den Befehl create-domain-resource in ein falsches Sicherheitsgefühl eingelullt, was nicht einmal einen Platzhalter für uri hinzufügt: -O –
Ja, das kann ich sehen. Vielleicht kann dies eine gute Funktion sein, um die Vorlage selbst zu ergänzen, indem man die URL auf den Domain-Namen Plural setzt, um Probleme wie oben zu vermeiden. Sie können ein [Problem in Grails-Kern] (https://github.com/grails/grails-core/issues) als eine Verbesserung erstellen, wenn Sie möchten. – dmahapatro
Problem erstellt: [grails-core # 9812] (https://github.com/grails/grails-core/issues/9812) –