Можно ли подстановить запросы OPTIONS для CORS? - PullRequest
0 голосов
/ 07 мая 2018

Мы внедрили 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, чтобы мне не приходилось изменять каждое имеющееся у нас отображение?

...