Ошибка CORS в приложении Angular с Asp.net Core WebpiC#

Место общения программистов C#
Anonymous
Ошибка CORS в приложении Angular с Asp.net Core Webpi

Сообщение Anonymous »

Мне дали задачу создать веб-клиент, который взаимодействует со следующим API:
https://docs.openaq.org/
Он должен иметь возможность отправлять различные параметры в API и отображать результаты качества воздуха для данного города в удобной форме.
Я решил создать проект Angular в ядре Asp.net .
Код в program.cs

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

var builder = WebApplication.CreateBuilder(args);
var MyAllowSpecificOrigins = "_myAllowSpecificOrigins";

// Add services to the container.

builder.Services.AddControllers();
// Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle
builder.Services.AddEndpointsApiExplorer();
builder.Services.AddSwaggerGen();
builder.Services.AddCors(options =>
{

options.AddPolicy(name: MyAllowSpecificOrigins,
policy =>
{
policy.WithOrigins("http://localhost:4200")
.AllowAnyHeader().AllowAnyMethod().AllowAnyOrigin();
);
});

var app = builder.Build();

// Configure the HTTP request pipeline.
if (app.Environment.IsDevelopment())
{
app.UseSwagger();
app.UseSwaggerUI(options =>
{
options.SwaggerEndpoint("/swagger/v1/swagger.json", "v1");
});
}

app.UseCors(MyAllowSpecificOrigins);

app.UseHttpsRedirection();

app.UseAuthorization();

app.MapControllers();

app.Run();
Код app.Component.ts:

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

import { HttpClient } from '@angular/common/http';
import { error } from '@angular/compiler/src/util';
import { OnInit } from '@angular/core';
import { Component } from '@angular/core';

@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent implements OnInit {
title = 'OpenAQ Application';
pings: any;
readonly ROOT_URL = "https://docs.openaq.org"

posts:any

constructor(private http: HttpClient) { }

async ngOnInit(): Promise {
await this.http.get(this.ROOT_URL + '/ping').subscribe(response => {
this.pings = response;
}, error => {
console.log(error);
});
}
}
После запуска моего углового проекта получена ошибка.
Доступ к XMLHttpRequest по адресу «https://docs.openaq.org/ping» из источника «http://localhost:4200» заблокирован политикой CORS: в запрошенном ресурсе отсутствует заголовок «Access-Control-Allow-Origin».
Кто-нибудь знает, почему это происходит?

Подробнее здесь: https://stackoverflow.com/questions/721 ... core-webpi

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