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 JSONpytania
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ę.