NodeJS - API명세서

김정욱·2020년 12월 11일
1

NodeJS

목록 보기
16/22
post-thumbnail
post-custom-banner

API 명세서 ?

Front Developer과 공유하기 위한 API의 세부적인 정보를 담는 자료
(API 문서는 누가 봐도 이해할 수 있어야 하고 , 명확하며 직관적이어야 한다)

  • Github WIKI / 스프레드시트 / Notion / postman api / swagger 등등 사용 가능!
  • Github WIKI나 스프레드시트를 추천 !

GitHub WIKI 활용하기

[ 구성요소 ]

  • API 이름
  • HTTP Method
  • Content-Type
  • Request - Header / Body
  • Response - Body
  • 데이터 자료형 / 설명
  • View / Page 이미지

[ Get 예시 ]

메소드경로설명
GET/record/item-add재고기록(홈)

Request Header

{
    "token" : "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c"
}

Response

< Success >

{
    "status": 200,
    "success": true,
    "message": "재료추가 화면 조회 성공",
    "data": {
        iconIdx : 1,
      	name : "딸기",
        img : "http://~"
    }
}

Number iconIdx : 아이콘(icon) 인덱스
String name : 아이콘(icon) 이름
String img : 아이콘(icon) 이미지

< Fail >

  • 내부 서버 오류
{
    "status": 500,
    "success": false,
    "message": "내부 서버 오류"
}

ㅤㅤ


[ Post 예시 ]

메소드경로설명
POST/exchange/post게시글 등록

Request Header

{
    "Content-Type": "multipart/form-data",
    "token" : "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c"
}

Request Body

{
         "productImg" : <FILE> ,
         "productName" : "당근",
         "isFood" : 1,
         "price" : 1200,
         "quantity" : 13,
         "expDate" : "2020.07.04",
         "description" : "당근 팔아요~",
         "coverPrice" : 1700,
         "unit" : "개"
}

Number isSold : 식품인지 여부 (1-식품, 0-공산품)
Number price : 상품 가격
FILE productImg : 상품 이미지
String productName : 상품 이름
Number quantity : 수량
String expDate : 상품 유효기간
String description : 게시글 내용
Number coverPrice : 정가정보
String unit : 단위

Response

< Success >

{
    "status": 200,
    "success": true,
    "message": "게시글 등록 성공"
}

< Fail >

  • 데이터 누락
{
    "status": 400,
    "success": false,
    "message": "게시글 등록에 필수 기입 정보를 입력해주세요"
}
  • 내부 서버 오류
{
    "status": 500,
    "success": false,
    "message": "내부 서버 오류"
}


profile
Developer & PhotoGrapher
post-custom-banner

0개의 댓글