Я думаю, что изменение следующего в Startup
Configure
должно работать. Обратите внимание на порядок: в соответствии с документами
При маршрутизации на конечную точку промежуточное программное обеспечение CORS должно быть настроено на выполнение между вызовами UseRouting и UseEndpoints. Неправильная конфигурация приведет к тому, что промежуточное программное обеспечение перестанет работать правильно.
app.UseRouting();
app.UseAuthorization();
app.UseCors("CorsPolicy");
app.UseEndpoints(endpoints =>
{
endpoints.MapControllers();
});
Я думаю, что очень краткое резюме COR может помочь объяснить, почему запросы почтальона работали для вас.
CORS по умолчанию используется в браузерах для проверки того, от каких серверов-отправителей будут приниматься запросы.
, если ваш запрос к серверу был из того же источника (все части источника должны совпадать), ваш запрос CORS не будет выполнен из-за его не перекрестное происхождение. В вашем случае порты не совпадают, поэтому, несмотря на то, что сервер и веб-приложение запущены с вашего локального хоста, он считается перекрестным источником, поскольку порты не совпадают
Когда вы отправляете запрос, браузер сначала отправьте запрос параметров (предварительный запрос), в котором отобразятся поддерживаемые поддерживаемые методы, и проверьте, имеет ли ваш источник (ваше веб-приложение переднего плана) разрешение на отправку запросов на сервер. Эта функциональность встроена в большинство основных браузеров по умолчанию (Chrome, Firefox, Edge et c).
Ваш запрос почтальона работает, потому что почтальон не отправляет предварительный запрос.
Дальнейшее чтение:
Включение CORS
https://docs.microsoft.com/en-us/aspnet/core/security/cors?view=aspnetcore-3.1
Что такое CORS
https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS