Что мне нужно отправить с ответом API CORS? - PullRequest
0 голосов
/ 13 апреля 2019

У меня есть API, встроенный в Java / Spring, размещенный в облаке, и недавно я столкнулся с проблемами CORS, когда веб-сайт не мог его использовать. Я узнал, что мой API не поддерживает CORS. Вот как я решил свою проблему:

https://spring.io/guides/gs/rest-service-cors/ (поиск "Включение CORS" на странице)

Просто добавив аннотацию @CrossOrigin, вы получите:

включает заголовки контроля доступа CORS в свой ответ

Это, похоже, решило мою проблему изначально. Однако из-за недостаточной вовлеченности с моей стороны в решение этой проблемы (мне просто нужно было добавить аннотацию) у меня, очевидно, возникли некоторые недоразумения. Возникают другие проблемы. При проверке моего ответа я заметил, что у меня есть нулевые значения для getAllResponseHeaders и getResponseHeader. Так что мой ответ CORS не отправляет никаких заголовков обратно.

Вопросы:

В каких случаях мне нужно отправлять заголовки ответов назад? После прочтения документа Spring я узнал, что по умолчанию аннотация @CrossOrigin принимает все источники. Это означает, что мой API должен принимать запросы от всех внешних ресурсов. Но, по-видимому, это не удается с запросом React "fetch". Из исследования, которое я делаю, я думаю, что мне может понадобиться отправить заголовок обратно, но я действительно не знаю, почему / когда мне нужно это сделать.

Почему Postman способен обходить проблемы с CORS? Даже до того, как я включил серверную часть CORS, запросы через Postman работали как положено.

1 Ответ

0 голосов
/ 13 апреля 2019

Потому что Почтальон проходит через Http без какой-либо политики CORS.Это не требует никакой политики.Смотрите здесь .И, возможно , что будет полезно.

Обновление извините.Я внимательно прочитал эту статью и теперь не совсем понял ваш вопрос.Прежде всего, CORS может быть только фильтром, и вы не будете отправлять в ответ какую-либо информацию об этом.Также вы можете отправлять в ответ в виде заголовков информацию о вашей политике.Пожалуйста, прочитайте , и , .Если я ошибаюсь, поправьте меня

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...