http StatusCode

수툴리 양·2021년 9월 26일
0

TIL(2)

목록 보기
6/8

데이터 없음이 404 Not Found 로 처리될 일이 맞는지? 에 대해

=> 204(No Contents) 또는 501(Not Implemented)로 대체

회원가입-로그인 로직에서, 유효하지 않은 유저가 로그인할 때 (db에 등록되어 있지 않은 미가입 이메일로 로그인 시도 시)
errormessage(뷰 렌더링 상)로 '사용자 없음' 이런 걸 렌더하고싶었는데
404 처리가되면서 클라이언트(리액트)를 건들 수가 없는 거임.
: 즉 4xx는 실패 처리로 응답이 클라이언트에 전송되지 않음.

서버에서(/signin) 응답코드를 2xx 로 처리 해야지 응답이 들어옴

204 (No contents, 데이터 없음)을 활용해서 해결


Signup 컴포넌트 에서도 비슷한 수정 성공

그런데 이미 등록된 이메일 이런 경우는 status code를 뭐로 설정해야 적절할까? ← 더 찾아보기.

🔗 참고 블로그링크 ⭐️

  • 임시

    이런 식으로 해보려했는데. 서버에러로 넘어감..

    data.length > 0 ? (
    	res.status(200).send({ maessage: 'ok' })
    	) : (
    		res.status(204).send({ message: 'No registered information' })
    )
    if (data.length >= 0) {
      const accessToken = generateAccessToken(data.dataValues);
    	  sendAccessToken(res,accessToken);
        res.status(200).send({ maessage: 'ok' });
    	}
        res.status(204).send({ message: 'No registered information' })
  • 참고
    • 정말 존재하지 않는 uri 임: 404 Not Found

    • 특정 리소스가 있어야하는데 없음 (로직, 내부 오류): 500 Internal Server Error

    • 특정 리소스가 있을 수도 있고, 없을 수도 있음: 204 No Content

    • 클라이언트가 말도 안되는 파라미터로 리소스를 요청함: 400 Bad Request

profile
developer; not kim but Young

0개의 댓글