CORS в микросервисе MicronautJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 CORS в микросервисе Micronaut

Сообщение Anonymous »

Я работаю над небольшим школьным проектом, который предполагает доступ к микросервису, созданному с помощью Micronaut в Java, из интерфейса реагирования. Когда я первоначально развернул свой микросервис в облаке Google, я смог получить к нему удаленный доступ из Postman, однако, когда я попытался получить к нему доступ из интерфейса реагирования, я получил следующую ошибку:

Код:

Код: Выделить всё

sendOtp(phoneNumber) {
fetch(apiRequest, {
method: 'POST',
body: JSON.stringify({
phoneNumber: 'phoneNumber',
}),
headers: {
"Content-type": "application/json; charset=UTF-8"
}
}).then(response => {
return response.json()
}).then(json => {
this.setState({
otpResponse:json
});
});
}
Ошибка:


Доступ к выборке «X» из источника «X» заблокирован политикой CORS: ответ на предполетный запрос не проходит проверку контроля доступа: в запрошенном ресурсе отсутствует заголовок «Access-Control-Allow-Origin». Если непрозрачный ответ соответствует вашим потребностям, установите режим запроса на «no-cors», чтобы получить ресурс с отключенным CORS.


Я немного изучил CORS и обнаружил, что мне нужно добавить следующее в файл application.yml:

Код: Выделить всё

micronaut:
server:
cors:
enabled: true
Я также добавил https://cors-anywhere.herokuapp.com в свой запрос на публикацию, так как это обходной путь, который я нашел в Интернете.

Однако у меня все еще есть несколько вопросов по этому поводу:

1. Почему я могу получить доступ к этому микросервису из Postman, но не из интерфейса React?

2. Является ли использование https://cors-anywhere.herokuapp.com безопасным обходным путем? Есть ли какие-либо проблемы с безопасностью?

3. Является ли эта проблема исключительной для страниц React/Web? Нужно ли мне включать CORS, если я хочу получить доступ к этому микросервису из других приложений?

Спасибо, буду благодарен за любую помощь!
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»