Можно ли подстановить запросы OPTIONS для CORS?
Мы внедрили CORS Interceptor в наше приложение, чтобы разрешить доступ к нашим API конкретным доменам. UrlMappings для этих правил следуют схеме.
"/api/domain/[sub-action]"(controller: "anotherController", action: "actionEndpoint", method: "PUT" )
Это работает нормально, однако запросам POST и PUT предшествует запрос OPTIONS, которого нет в отображении, поэтому он фактически пытается перейти к apiController. Это заканчивается тем, что CORS Interceptor обрабатывает запрос OPTIONS для apiController, прежде чем UrlMappings получит возможность переписать его туда, куда он действительно должен идти.
Я обнаружил, что могу решить следующие проблемы:
"/api/domain/[sub-action]"(controller: "anotherController") {
action = [ PUT: "actionEndpoint", OPTIONS: "actionEndpoint" ]
}
Однако я действительно не хочу делать это для каждой конечной точки POST/PUT/DELETE, которая у нас есть.
Я пытался сделать правила, такие как:
"/api/**/*"(method: "OPTIONS")
"/api/**/*"(controller:"*", action: "*", method: "OPTIONS")
Оба из которых привели к ошибкам.
Есть ли способ подстановки символа OPTIONS для пути /api, чтобы мне не приходилось изменять каждое имеющееся отображение?