Jaki jest skuteczny sposób tworzenia / zarządzania RESTful API z Grails?

Zbudowałem swoją pierwszą aplikację Grails. Moje odwzorowania adresów URL są tym, co zapewnia aplikacja domyślna:

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

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

Senario

Zadzwoniłem do kontroleraColorController z działaniamisave ilist. Po prostu robi coś takiego:

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

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

Chciałbym zbudować prosty interfejs API dla tych działań.

Akcja składowania powinna akceptować parametry jako JSON i dostarczyć pomyślny komunikat, jeśli zapisy zostaną zapisane.Akcja listy powinna zawierać listę jako JSON

pytania

Czy powinienem utworzyć osobne mapowanie adresu URL dla interfejsu API? (na przykład.http://<domain>/<app>/rest/controller/action)Czy powinienem tworzyć osobny kontroler dla mojego interfejsu APIUżywam sprężynowej wtyczki bezpieczeństwa do uwierzytelniania. Ale w pewnym momencie chciałbym również uwierzytelnić spokojną api. Jakie są na to rozwiązania?Jeśli korzystam z tego samego kontrolera, jak mogę zmodyfikować te proste czynności, aby zrobić to, czego potrzebuję.

questionAnswers(1)

yourAnswerToTheQuestion