codestates / codestates/brewhere

[정새얀] 220518 에러 핸들링

Open
#109 0 comments 0 reactions 0 assignees View on GitHub
complete
Dominant language
JavaScript
Stars
4
Forks
4
PR merge metrics
No merged PRs in 30d

Description

> 해결된 에러라면 라벨에 'Complete' 를 달아주세요.
> 미해결된 에러라면 라벨을 'In progress' 로 변경해주세요.

### 어떤 에러인가요?
- 포스트맨으로 signup의 요청, 응답을 잘 받는지 확인하려는 과정에서 데이터베이스에 이메일 주소를 제외한 아이디와 비밀번호의 데이터가 저장되지 않는 에러
- login을 구현할 때 포스트맨은 200코드를 받아오는데 서버 터미널에서는 401코드를 받아오는 에러
- 이메일의 값이 undefined로 받아오는 에러

### 에러 메시지

```bash
node:internal/errors:464
ErrorCaptureStackTrace(err);
^
Error [ERR_HTTP_HEADERS_SENT]: Cannot set headers after they are sent to the client
```

![image](https://user-images.githubusercontent.com/91467260/169056853-70e4eaf9-8499-4dda-87e6-439c8cd2e3c8.png)

### 에러 핸들링 방법

- 첫번째 에러는 controllers/signup.js에서 where절에 email 데이터만 넣어줬기 때문에 데이터베이스에 저장이 되지 않았던 것이었다.
그 부분을 닉네임과 비밀번호를 넣어주었더니 제대로 작동했다.
- 두번째 에러는 서버와 클라이언트 양쪽의 문제가 하나씩 있었다.
서버에서는 tokenFunctions의 sendAccessToken함수를 생성할 때 cookie에 accessToken을 넣어 보내주면서 json으로 다시 accessToken을 보내주고 있어서 이중 응답이 가고 있었기 때문이었고,
이메일값이 undefined로 가고있던 이유는 서버와 클라이언트에서 각각 이메일을 보내는 이름을 다르게 써주었기 때문이었다.
이 부분을 수정해주었더니 로그인이 구현되었다.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.