Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Enviando credenciais para a API

Estou com um erro em algum lugar e não encontro de jeito nenhum. Fiz o auth.service.ts e estou utilizando ele no signin.component.ts conforme proposto pelo curso. Ocorre que não está enviando as credenciais para API e não está mostrando erro algum! Pode me ajudar? Segue o meu signin.component.ts...

import { Component, OnInit } from '@angular/core';
import { FormGroup, FormBuilder, Validators } from '@angular/forms';
import { AuthService } from 'src/app/core/auth.service';

@Component({
  selector: 'app-signin',
  templateUrl: './signin.component.html',
  styleUrls: ['./signin.component.css']
})
export class SigninComponent implements OnInit{

  loginForm: FormGroup; 


  constructor(
    private formBuilder: FormBuilder, 
    private authService: AuthService 
  ) { }

  ngOnInit(): void {
    this.loginForm = this.formBuilder.group({ 
      userName: ['', Validators.required], 
      password: ['', Validators.required]  
    });
  }  
    login(){
      const userName = this.loginForm.get('userName').value;
      const password = this.loginForm.get('password').value;

      this.authService
        .authenticate(userName, password)
        .subscribe(
            () => console.log('autenticado'), 
            err => {
                console.log(err);
                this.loginForm.reset();
            }
        );

    }

}

E aqui está o auth.service.ts:

import { Injectable } from '@angular/core';
import { HttpClient } from '@angular/common/http';


const API_URL = 'http://localhost:3000';

@Injectable({
  providedIn: 'root' 
})
export class AuthService {

  constructor(private http: HttpClient) { }

  authenticate(userName: string, password: string){ 
   return this.http.post(API_URL + '/user/login', {userName, password})
  } 
}

Obrigado!

2 respostas

Oi Jayro tudo bem,

Você fez o event binding dentro do seu signin.component.html desse jeito ?

(submit)="login()"
solução!

Olá Filipe,

Coloquei sim o (submit)="login()" no signin.component.html, mas não era isso, acabei de encontrar o erro, havia declarado 2 vezes o HomeModule no import do app.module.ts. Erro de principiante... Obrigado!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software