REST API: 오류

2094 단어 tutorialwebdev
대부분의 Google API는 리소스 지향 API 디자인을 사용합니다. 다른NOT_FOUND 오류를 정의하는 대신 서버는 하나의 표준NOT_FOUND 상태 코드를 사용하고 어떤 특정 리소스를 찾을 수 없는지 클라이언트에 알립니다.

오류 공간이 작을수록 다음과 같은 이점이 있습니다.
  • 문서의 복잡성 감소
  • 더 나은 매핑
  • 클라이언트 논리 복잡성 감소

  • 오류 모델




    type Error = {
      code: number
      message: string
      details: any[]
    }
    


  • Error.code : 클라이언트가 쉽게 처리할 수 있는 간단한 코드
  • Error.message : 개발자가 읽을 수 있는 오류
  • Error.details : 재시도 정보, 도움말 링크 등과 같은 클라이언트에 대한 추가 오류 정보

  • 에러 코드


  • 개별 API는 추가 오류 코드를 정의하지 않아야 합니다.
  • 개발자는 표준 오류 코드를 사용해야 합니다.
  • Google API의 표준 오류 코드:
  • 200 OK , 오류가 아닙니다. 성공으로 돌아왔습니다.
  • 500 UNKNOWN , 내부 서버 오류; 예상치 못한 불충분한 정보
  • 400 INVALID_ARGUMENT , 유효하지 않거나 문제가 있는 사용자 데이터
  • 404 NOT_FOUND , 전 세계적으로 모든 사람에게 존재하지 않는 항목
  • 409 ALREADY_EXISTS , 무언가가 이미 존재합니다
  • 403 PERMISSION_DENIED , 사용자에 대한 액세스가 거부되었습니다. 관련된 사람들이 액세스할 수 있음
  • 401 UNAUTHENTICATED , 전달자 토큰이 없습니다. 유효한 인증 자격 증명 없음
  • 429 RESOURCE_EXHAUSTED , 요청이 너무 많습니다. 속도 제한 초과
  • 400 FAILED_PRECONDITION , 작업이 거부되었습니다. 비즈니스 로직 미충족
  • 400 UNAVAILABLE , 작업이 거부되었습니다. 사용자가 다시 시도해야 함


  • 에러 메시지



    오류 메시지는 사용자가 API 오류를 쉽게 이해하고 해결하는 데 도움이 되어야 합니다.
  • 사용자를 API의 전문 사용자로 가정하지 마십시오.
  • 사용자가 서비스 구현에 대해 아무것도 모른다고 가정하지 마십시오.
  • 기술 사용자가 응답하고 수정할 수 있도록 구성해야 합니다.
  • 메시지를 간략하게 유지하십시오. 필요한 경우 추가 정보, 질문, 피드백에 대한 링크를 제공하십시오. 그렇지 않으면 "세부 정보"필드를 사용하십시오.
  • 좋은 웹페이지 즐겨찾기