Ниже мой файл application.conf. И обратите внимание, что причина в том, что есть несколько строк, я пробовал несколько комбинаций, чтобы исправить проблему. Но исправить не смог.
Вызов API Fetch в интерфейсе React
fetch('http://localhost:9000/items', {
method: 'GET'
}).then(
response => response.json()
).then(
data => {
console.info(data);
}
).catch(
error => {
console.error(error);
console.info('errr');
}
);
Файл Application.conf
play.filters.hosts {
allowed = ["."]
}
play.filters.disabled += "play.filters.headers.SecurityHeadersFilter"
play.filters.disabled += play.filters.cors.CORSFilter
play.filters.disabled += play.filters.csrf.CSRFFilter
play.filters.headers.contentSecurityPolicy = "default-src 'self'; img-src 'self' https://my.img.cdn.com"
# disable the built in filters
# play.http.filters = play.api.http.NoHttpFilters
play.filters.enabled += "play.filters.cors.CORSFilter"
play.filters.cors {
# allow all paths
pathPrefixes = ["/"]
# allow all origins (You can specify if you want)
allowedOrigins = null
allowedHttpMethods = ["GET", "POST", "PUT", "DELETE"]
# allow all headers
allowedHttpHeaders = ["Accept", "Content-Type"]
На изображении ниже показаны параметры запроса, которые реагируют на запросы внешнего интерфейса.
Также ниже указаны ошибки и предупреждения в консоли.
Потом проверил с удалением заголовков в http запросе. Затем получил 200, отправив запрос GET во вкладке сети. Но выбрано исключение в вызове API выборки

Так что, похоже, это должна быть проблема cors в игровом API. Но никак не мог разобраться, внося разные изменения в конфиг приложения.
Это просто для проверки на практике. Однако проблема исправлена, спасибо за комментарий.




Я исправил проблему, и ниже будет ответ.
play.filters.enabled += "play.filters.cors.CORSFilter"
play.filters.cors {
allowedOrigins = ["http://localhost:8080", "http://localhost:9000"]
allowedHttpMethods = ["GET", "POST", "PUT", "DELETE"]
preflightMaxAge = 3 days
}
Надеюсь, это будет полезно для всех.
почему фильтр CORS присутствует в списках включенных и отключенных в вашей конфигурации?