ModakBul
  • 모닥불 프로젝트 보고서
  • 프로젝트 요약
  • 프로젝트 개요
    • 추진 배경 및 필요성
    • 프로젝트 내용
    • 구현 요구사항
    • 팀 구성 및 개발환경
    • 프로젝트 관리 체계
    • 프로젝트 일정 관리
  • 기능 명세
    • 요구사항 목록
    • DB 요구사항
    • 기능 요구사항
    • 기타 요구사항
  • 데이터베이스
    • 구조 설계
    • 테이블 명세
      • 태그 관련 테이블
      • 게시물 관련 테이블
      • 투표 관련 테이블
      • 기타 테이블
  • 백엔드 API
    • API 개요
    • API 명세
      • Template API
      • Board API
      • Auth API
      • Vote API
      • Search API
      • Admin API
      • Analysis API
  • 프론트엔드 & UI
    • 전체 인터페이스 구조
    • 인터페이스 명세
      • Main Page
      • Header & Side Bar
      • Intro Page
      • Post Page
      • Vote Page
      • Analysis Page
      • Admin Page
      • Login Page
  • 프로그램 배포
    • 프로그램 개요
    • 주요 기능
    • 구현 결과물 배포
  • 마무리
    • References
Powered by GitBook
On this page
  • API 규약 정의
  • 상태 코드
  • Success
  • Bad Request
  • Unauthorized
  • Resource Not Found
  • Internal Server Error

Was this helpful?

  1. 백엔드 API

API 개요

모닥불 서비스의 모든 API에 해당되는 공통 해당사항에 대해 서술한다.

API 규약 정의

API 자체는 기능별 그룹 단위로 분류되어 있으나, 여러 페이지에서 여러 API를 교차적으로 사용할 수 있다. 데이터 포맷은 JSON 기반으로 HTTP/REST API 기반으로 동작하며, 기본적으로 HTTP 프로토콜의 Status Code Rule에 따른다. 단, 보안성 및 서비스의 원활한 진행을 위해 일부 룰을 오버라이딩하여 모닥불 내의 규약을 재정의하였다..

상태 코드

Success

200, ...

{
    result:"success",
    # optional add
    reason:"~~~"
}

요청이 성공적으로 수행되었음을 뜻한다. 각 성공의 의미는 API 별로 달라질 수 있으나 공통적으로 다음과 같은 상황일 경우, 모두 200으로 취급한다.

  • 서버가 처리할 수 있는 정상적인 값을 수신한 경우

  • 해당 결과의 True, False와 상관없이 정상적인 작업을 수행한 경우

Bad Request

400, 405, 406, 422, ...

{
    result:"bad request"
}

기존 API 규약에 위반된 올바르지 않는 파라미터의 입력으로 발생한다.

  • 필수적으로 필요한 인자 값을 전달받지 못한 경우

  • 전달받은 인자 값의 포맷이 규약에 위반될 경우

  • 규약에 맞지 않는 HTTP Method로 호출된 경우

Unauthorized

401, 403, ...

{
    result:"unauthorized"
    // or "admin only", ...
}

사용자 인증이 필요한 기능에서 해당 API의 인증 권한에 충족되지 않았거나 인증 자체를 수행하지 않았을 때 발생한다.

  • 본인을 인증할 토큰 값 자체를 전송하지 않은 경우

  • 해당 토큰 값이 유효하지 않은 경우

Resource Not Found

404

{
    result:"404 page"
}

클라이언트가 서버에 요청한 리소스를 찾을 수 없을 경우에 해당된다. 해당 리소스에는 URI, 첨부파일 등을 비롯한 서버의 모든 자원을 포함한다.

Internal Server Error

500, 502, 503, ...

{
    result:"fail"
}

서버가 해당 작업을 수행하던 내부 오류가 발생하였고, 유효한 결과 값을 건네줄 수 없음을 의미한다.

  • 서버가 해당 값을 처리하는 도중 에러가 발생했다

  • 해당 요청 방법은 서버에서 지원하지 않는다.

  • 서버가 잘못된 게이트웨이로 응답을 수신했다.

  • 서버가 요청을 처리할 준비가 아직 되지 않았다.

Previous기타 테이블NextAPI 명세

Last updated 5 years ago

Was this helpful?