Was ist ein effizienter Weg, um RESTful API mit Grails zu erstellen / verwalten?

Ich habe meine erste Grails-Anwendung erstellt. Meine URL-Zuordnungen sind das, was die Standardanwendung bereitstellt:

static mappings = {
    "/$controller/$action?/$id?"{
        constraints {
            // apply constraints here
        }
    }

    "/"(view:"/index")
    "500"(view:'/error')
}

Senario

Ich habe einen Controller angerufenColorController mit Aktionensave undlist. Es macht einfach so etwas:

def save () {
   def colorInstance = new Color(params)
   colorInstance.save(flush: true)
}

def list () {
   [colorList: Color.list, colorTotal: Color.count()]
}

Ich möchte eine einfache API für diese Aktionen erstellen.

Die Sicherungsaktion sollte Parameter als JSON akzeptieren und eine erfolgreiche Nachricht bereitstellen, wenn die Datensätze gespeichert werden.Die Listenaktion sollte die Liste als JSON bereitstellen

Fragen

Sollte ich eine separate URL-Zuordnung für die API vornehmen? (z.B.http://<domain>/<app>/rest/controller/action)Sollte ich einen separaten Controller für meine APIs erstellen?Ich benutze das Spring Security Plugin zur Authentifizierung. Aber irgendwann möchte ich vielleicht auch die erholsame API authentifizieren. Was sind einige Lösungen dafür?Wie kann ich diese einfachen Aktionen ändern, um das zu tun, was ich brauche, wenn ich denselben Controller verwende?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage