1
resposta

Conectar Back End e Front End

Olá professores e professoras! Boa tarde. Tudo bem?

Eu preciso apender como conectar uma aplicação Front End em Angular (HTML, CSS, TYPESCRIPT) com uma Back End em C# (C# e SQL). Eu adaptei dois projetos que estão com as requisições funcionando:

Angular 14: aplique os conceitos e desenvolva seu primeiro CRUD –https://cursos.alura.com.br/course/angular-explorando-framework/task/110725

.NET 6: criando uma web API - https://cursos.alura.com.br/course/dotnet-criando-web-api 

Ambos, já estão com os mesmos objetos e tipagem. São aplicações simples que possuem apenas um objeto.

{
    "conteudo": "Aprender é bom",
    "autoria": "Socrates",
    "modelo": "modelo1"
}

No entanto, não consigo conectar os dois ambientes. Já estou há anos tentando aprender e não descobri até agora.

Caso consiga me ajudar, será muito bom.

Obrigado.

1 resposta

Olá Jonathas! Tudo bem?

A conexão entre o front-end em Angular e o back-end em .NET 6 é um passo crucial para o funcionamento da sua aplicação. Vou te guiar por alguns passos que podem ajudar:

  1. Configuração do CORS no Back-End: Certifique-se de que a sua API em .NET 6 está configurada para aceitar requisições do seu front-end. Isso é feito através do CORS (Cross-Origin Resource Sharing). No arquivo Program.cs, adicione o seguinte código para configurar o CORS:

    var builder = WebApplication.CreateBuilder(args);
    
    // Add services to the container.
    builder.Services.AddCors(options =>
    {
        options.AddPolicy("AllowAll",
          builder =>
          {
              builder.AllowAnyOrigin()
                     .AllowAnyMethod()
                     .AllowAnyHeader();
          });
    });
    
    var app = builder.Build();
    
    // Use the CORS policy
    app.UseCors("AllowAll");
    
    app.UseAuthorization();
    
    app.MapControllers();
    
    app.Run();
    

    Isso permitirá que sua aplicação Angular faça requisições para a API sem problemas de CORS.

  2. Configuração do Serviço HTTP no Angular: No seu projeto Angular, você precisa configurar um serviço HTTP que fará as requisições para o back-end. Aqui está um exemplo básico de como você pode fazer isso:

    Primeiro, certifique-se de que o módulo HttpClientModule está importado no seu AppModule:

    import { BrowserModule } from '@angular/platform-browser';
    import { NgModule } from '@angular/core';
    import { HttpClientModule } from '@angular/common/http';
    
    import { AppComponent } from './app.component';
    
    @NgModule({
      declarations: [
        AppComponent
      ],
      imports: [
        BrowserModule,
        HttpClientModule
      ],
      providers: [],
      bootstrap: [AppComponent]
    })
    export class AppModule { }
    

    Depois, crie um serviço para lidar com as requisições HTTP:

    import { Injectable } from '@angular/core';
    import { HttpClient } from '@angular/common/http';
    import { Observable } from 'rxjs';
    
    @Injectable({
      providedIn: 'root'
    })
    export class ApiService {
    
      private apiUrl = 'http://localhost:5106'; // URL da sua API
    
      constructor(private http: HttpClient) { }
    
      getConteudo(): Observable<any> {
        return this.http.get(`${this.apiUrl}/WeatherForecast`);
      }
    }
    
  3. Testando a Conexão: Agora, você pode testar a conexão chamando o método getConteudo() do seu serviço no componente Angular e exibindo os dados na interface.

Espero que essas dicas ajudem a conectar suas aplicações! Se algo não funcionar, pode ser necessário ajustar as configurações específicas do seu projeto.

Bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.