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

Erro API: Status Code 500

Estou usando a API fornecida pelo próprio curso, não fiz nenhuma alteração no código do back-end porém estou tendo um erro de server-side com status 500 com a seguinte mensagem: TypeError: Cannot destructure property 'userName' of 'req.body' as it is undefined.

Aqui está meu service:

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

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

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

    constructor(private http: HttpClient) { }

    authenticate(userName: string, password: string): Observable<Object> {

        return this.http.post(`${API_URI}/user/login`, { userName, password } )
    }
}

E este é o método de login:

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)
            );
    }
3 respostas

Olá, Thiago! Tudo certo?

Coloque um console.log() no seu authenticate para ver se o userName está chegando corretamente, ou se o problema foi após isso, por favor:

    authenticate(userName: string, password: string): Observable<Object> {
    console.log('userName: ', userName);

        return this.http.post(`${API_URI}/user/login`, { userName, password } )
    }

Aguardo o retorno!

Então Leonardo, não sei se tem muito a ver porém que enviei pelo Postman o userName e Password e é devolvido o mesmo erro =/

solução!

Problema solucionado, vi que no back-end, não tinha nada para tratar body request, usava-se o body-parser mas a partir do Express 4 foi introduzido ao mesmo o método json()

então eu apenas coloquei o middleware na linha 41 do arquivo config/express.js

app.use(express.json());

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