728x90
반응형
SMALL
- 컨트롤러 log() 따로 빼기
![]() |
login과 register에서 같은걸 쓰니깐 이걸 log()로 함수 만들어 따로 빼내면 |
![]() |
짧아지고 |
![]() |
코드 보기도 편해 졌다 |
조금 더 가보자
![]() |
url로 따로 빼내서 오브젝트를 만들어주는데 method, path, status 이렇게다 그리고 log() 함수에 던져줄 값으로 response와 아까 담은 url을 담아 넣으면 |
![]() |
log 함수 쪽은 이렇게 수정을 하면 좀더 간결하고 보기 편한 코드로 최적화가 된 |
![]() |
그런데 로그인을 하게 되면 응답은 true인거 맞는데 message 부분이 담기지 않으니 undefined다 |
![]() |
log() 함수에 true 쪽부분의 메시지를 이렇게 ||을써서 ""을 주자 |
상태코드 한번 보자
![]() |
response에서 응답의 값이 넘어 올건데 에러가 400번대의 에러가 날수도 200번대의 성공이 뜰수도 있으니 이렇게 해주면 |
![]() |
그럼 정말 200번대를 가져온건가? |
![]() |
사실 이렇게 클라이언트에서 실수 한 부분에 있어 400번 대의 번호룰 출력해줘야 하는게 맞다 그런데 서버에서는 정상적인 응답을 해줬기 때문에 200번대를 보여주고 있는거다 에러메세지 정상적으로 출력합니다~ 뭐 이런거... |
![]() ![]() |
|
![]() ![]() |
일부러 에러를 한번 내보면 이렇게 에러 출력이 잘 안되고 있는걸 알수 있 |
![]() |
return 해줄 res값에 status를 포함해주자 어디서? url의 status 에서 이걸 login도 동일하게 설정 해주고나면 |
![]() ![]() |
이제 서버에도 동일한 http 상태코드를 출력하는걸 볼수있다 사실 클라이언트 단에서 이 에러를 따로 출력하는 방법이 존재 함! 근데 거기 까진 강의로 없고 찾아보며 공부를 하라고 했음 |
웹 개발에 있어 http 상태 코드는 정말 중요하다
https://developer.mozilla.org/ko/docs/Web/HTTP/Status
HTTP 상태 코드 - HTTP | MDN
HTTP 응답 상태 코드는 특정 HTTP 요청이 성공적으로 완료되었는지 알려줍니다. 응답은 5개의 그룹으로 나누어집니다: 정보를 제공하는 응답, 성공적인 응답, 리다이렉트, 클라이언트 에러, 그리고
developer.mozilla.org
이걸 뭐 다 외울 필요는 없다
다만 웹 개발에 있어 정말 중요하며
공부를 해둬 알고는 있어야 할 부분이다
![]() |
이제 가져오는 부분 GET해서 render해주는 부분의 http 상태 코드들을 볼 차례다 |
![]() |
메인 화면들어가면 보이는 이 304가 있는데 모든 render 화면이 다 304는 아니다 render : 얘를 사용하면 가장 처음엔 200번의 상태코드를 반환을 하고 그 다음부터 304를 반환을 한다 |
![]() |
존재하지 않는 계정을 넣었을 시
이런식으로 뜬다.
이거 수정하자
먼저 왜 그런지 설명
![]() |
존재하지 않는 녀석을 검색하면 저기 data[0]번지는 빈 배열이 된다 |
![]() |
이렇게 undefined를 반환 하기때문에 |
![]() |
여기 User 클래스의 저 부분이 반환하는 undefined를 받아버리면 저기 id와 psword는 구조분해 할당을 받을수가 없다 |
![]() |
그래서 저기 { id, psword } 부분이 에러가 나버리면 catch(err) 부분에서 에러를 잡아버리게 된다 |
![]() |
그래서 이러한 로그가 출력이 되는거 |
따로따로 받으면 구조분해 할당 안된다고 했으니
그럼 user로 하나로 받아내면 어떨까?
되는구만 허
이걸 백앤드의 기준점이자 약간 정석이다
생각하고 최적화 또는 타 기능을 제작 할시에
참고하여 만들어 나가면 될것 같음.
728x90
'Back-End Frameworks > Node.js' 카테고리의 다른 글
WebSocket 사용법(1)(feat. 채팅기능앱 만들기) (0) | 2024.02.05 |
---|---|
JWT 사용 방법 (0) | 2024.01.20 |
15) Nodejs - 백앤드 넓고 얕게 맛보기_정리_로그 관리하기(출처 유튭 강의)★★★ (0) | 2023.11.05 |
14) Nodejs - 백앤드 넓고 얕게 맛보기_정리_환경변수로 보안 관리(출처 유튭 강의) (0) | 2023.11.03 |
13) Nodejs - 백앤드 넓고 얕게 맛보기_정리_Postman 사용하기(출처 유튭 강의)★★★ (0) | 2023.11.03 |