У меня небольшие трудности при попытке создать API на Google App Engine. Поток состоит в том, что домен отправляет форму-отправку моему микросервису, размещенному в Google App Engine через XHR. Поведение, которое я вижу, состоит в том, что отправка формы отправляет предварительную проверку (OPTIONS), когда она указана как GET
. В моем маршруте на микросервисе у меня есть маршрут получения с использованием Dingo API Routing, и поскольку браузер отправляет предварительную проверку,метод get отправляет затем «Метод не разрешен»
Доступ к XMLHttpRequest в «https://recieverdomain/apis/v1/create_issue' из источника» https://requestdomain.no' заблокирован политикой CORS: Ответ на запрос предполетной проверкине проходит проверку контроля доступа: в запрашиваемом ресурсе отсутствует заголовок «Access-Control-Allow-Origin».
Я добавил заголовки, чтобы разрешить источник, но так как метод не соответствует емуотправляет его обратно как «Метод не разрешен» (ОПЦИИ -> GET)
Это мой код:
$api = app('Dingo\Api\Routing\Router');
$api->version('v1', function ($api) {
$api->group(['prefix' => 'v1'], function ($api) {
$routes = [
'list_issues' => [
'as' => 'issue.list',
'uses' => 'App\Controllers\issueController@list_all'
],
'create_issue' => [
'as' => 'issue.create',
'uses' => 'App\Controllers\issueController@create_issue'
]
];
foreach ($routes as $route => $definition) {
$definition["middleware"] = 'auth:jwt';
$api->get($route, $definition);
}
$api->get('/', ['middleware' => 'auth', function () use ($routes) {
$endpoints = [];
foreach ($routes as $route => $definition) {
$endpoints[$route] = app('Dingo\Api\Routing\UrlGenerator')->version('v1')->route($definition["as"]);
}
return [
"Name" => getenv("API_NAME") . " Endpoints",
"Endpoints" => $endpoints
];
}]);
});
});
Мой вопрос, как я могу сгруппироватьметод, чтобы я мог включить OPTIONS
метод вместе с GET