Skip to content
노경민 edited this page Jan 17, 2022 · 34 revisions

고스락 티켓 예매 프로젝트의 백엔드 api 명세관련 위키입니다.

host : https://api.gosrock.link


응답 컨벤션

{
    status : Number //(필수),
    success : Bool // (성공 여부 필수),
    message: String | null //( 실패시 오류 메시지), 
    data : Array | Object |[{express-validationError}]  | null  //(성공시 받는 데이타) , express-validationError Object 검증오류시 리턴
}

공통 오류

백엔드 api 전체에 걸친 응답 컨벤션입니다. 해당 내용을 숙지하시여 통신간에 참고하시길 바랍니다.

검증오류

express-validator에서 잘못된 요청을 거르는 오류 입니다. 검증에서 오류가난 경우 message 는 "검증오류" 입니다.

express-validatorError

name type description Required
msg String 오류 내용 Required
param String 문제가 되는 파라미터 Required
location String body query 등 받는 부분 Required
  • 에러 예시
{
   "status": 400,
    "success": false,
    "message": "검증오류",
    "data" : [
         {
            "msg": "숫자만 들어와야합니다.",
            "param": "phonenumber",
            "location": "body"
        },
        {
            "msg": "전화번호 길이는 11자이어야 합니다.",
            "param": "phonenumber",
            "location": "body"
        }
    ]
}

인증 오류

인증이 필요한 요청에 jsonWebToken 관련 오류 입니다.

토큰 시간 만료

토근 시간이 만료된 경우 (24시간 이상이 자났을때 나오는 오류입니다.)

{
    "status": 401,
    "success": false,
    "message": "토큰 시간 만료"
}

토큰 인증 오류

토큰의 암호화 키값이나 손상된 토큰일때

{
    "status": 401,
    "success": false,
    "message": "토큰 인증 오류"
}

서버 내부 오류 ( 핸들링 실패한 알수없는 오류 )

해당 오류가 클라이언트 단으로 리턴된다면 무조건 백엔드팀장한테 말씀해주시면 감사하겠습니다.

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

Api 목록, 요청시 필요한 인증 , 기능 , 작업자

연번 인증필요여부 method url 기능 작업자
NO.01 불필요 POST /auth/message 문자메시지 요청 경민
NO.02 messageToken (3분) POST /auth/validation 문자메시지 인증 경민
NO.03 불필요 POST /admin/login 관리자용 로그인 찬진
NO.04 userAccessToken POST /tickets 티켓 발급하기 찬진
NO.05 불필요 GET /tickets/:id 티켓 한개의 정보 받아오기 승희
NO.06 불필요 GET /tickets/count 홈페이지 티켓 발급 갯수 요청 승희
NO.07 userAccessToken GET /tickets 내가 발급한 티켓 찾기 찬진
NO.08 adminAccessToken POST /admin/tickets?page&searchString&searchOption 어드민에서 티켓 리스트 검색 민준
NO.09 adminAccessToken PATCH /admin/tickets/:id 티켓의 정보를 수정 준서
NO.010 adminAccessToken POST /admin/tickets/info 티켓 관련한 통계 준서
NO.11 adminAccessToken POST /admin/tickets 공짜 티켓 발급 민준
NO.12 adminAccessToken POST /admin/register 어드민 회원가입 찬진

헤더 인증 방식

Bearer 헤더로 사용

curl 예시

curl https://example.com/authexample
   -H "Accept: application/json"
   -H "Authorization: Bearer {token}"

axios 예시

const config = {
    headers: { Authorization: `Bearer ${token}` }
};

const bodyParameters = {
   key: "value"
};

Axios.post( 
  'http://localhost:8000/api/v1/get_token_payloads',
  bodyParameters,
  config
).then(console.log).catch(console.log);

postman 예시

무제

  • 콜렉션 또는 폴더에 Bearer Token 으로 설정. 인증이 필요한 부분에 요청을 헤더에 담아서 보낼 수 있음 유저 인증 , 어드민 인증 다른 폴더에 설정해서 보낼것 !