У меня есть файл URLMapping.groovy со следующей структурой:
class UrlMappings {
static mappings = {
"/someThing" (resources: "someThingApi", includes: ["index", "show", "create", "update", "delete"]) {
"/nestedThing/$type?" (controller: "someThingApi", action: [GET: "showNestedThing"])
}
}
И когда я вызываю интерфейс REST как таковой, он работает нормально (вызывается функция showNestedThing): GET /someThing/{id}/nestedThing, однако, когда я пытаюсь вызвать GET /someThing/{id}/nestedThing/{type}, я получаю следующий ответ:
{
"timestamp": 1445247531624,
"status": 404,
"error": "Not Found",
"message": "No message available",
"path": "/someThing/1/nestedThing/someType"
}
Вместо того, чтобы вызывать функцию, я мог получить someType, выполнив params.type, как и ожидалось. Если я проверю свои сопоставления URL-адресов grails (отчет о сопоставлении URL-адресов grails), отобразится /someThing/${someThingId}/nestedThing/null?
вместо ожидаемого /someThing/${someThingId}/nestedThing/${type}?
.
Использование Grails 3.0.9.