HomeAboutMeBlogGuest
© 2025 Sejin Cha. All rights reserved.
Built with Next.js, deployed on Vercel
♥️
2기 최종 프로젝트 팀별 공간
/
[팀 BackFro💯] ArtZip: 세상 모든 전시회를 한 번에
[팀 BackFro💯] ArtZip: 세상 모든 전시회를 한 번에
/
🚀
API 명세
/
맞춤 전시회

맞춤 전시회

사용되는 페이지
맞춤 전시회
HTTP Method
GET
설명
맞춤 전시회
인증 필요 여부
완료 여부
완료
URL
/api/v1/exhibitions/custom?areas=SEOUL,GYEONGGI&months=JAN,MAR,MAY&genres=INSATALLATION,MEDIA&page=0&size=8&include-end=true
담당자
유석 홍
인증 여부에 따른 응답 변경 여부
isLiked(exhibition)
must or should
should
도메인
EXHIBITION

Query Params

Key
Value
areas
SEOUL,GYEONGGI
months
JAN,MAR,MAY
genres
INSATALLATION,MEDIA
page
0
size
8
include-end
true/false
  • areas
    • ALL, SEOUL, BUSAN, DAEGU, INCHEON, DAEJEON, GWANGJU, ULSAN, SEJONG, GYEONGGI, GANGWON, CHUNGBUK, CHUNGNAM, JEONBUK, JEONNAM, GYEONGBUK, GYEONGNAM, JEJU
  • months
    • ALL, JAN , FEB , MAR , APR , MAY , JUN , JUL , AUG , SEP , OCT , NOV , DEC
  • genres
    • ALL, PAINTING, PHOTO, MOLDING, INSTALLATION, MEDIA, SHOW, HISTORY , CRAFT, ANIMATION , ETC
      • ALL
        모든 장르
        PAINTING
        그림
        PHOTO
        사진
        MOLDING
        조형
        INSTALLATION
        설치
        MEDIA
        미디어
        SHOW
        공연
        HISTORY
        역사
        CRAFT
        공예
        ANIMATION
        만화애니
        ETC
        기타
  • page
    • 0부터 시작합니다. (ex 첫번째 페이지는 page = 0)
    • 기본값 0
  • size
    • 한 페이지당 포함되는 데이터 개수
    • 기본값 8
  • include-end
    • 종료된 전시회도 포함하는 경우 true
    • 종료된 전시회를 포함하지 않는 경우 false
    • 기본 값 true
  • 예시
    • 전체 지역 and 전체 시기 and 전체 장르
    • /api/v1/exhibitions/custom?areas=ALL&months=ALL&genres=ALL&page=0&size=8&include-end=true
    • 지역(서울 or 경기) and 시기(1 or 3 or 5) and (설치 or 미디어)
    • /api/v1/exhibitions/custom?areas=SEOUL,GYEONGGI&months=JAN,MAR,MAY&genres=INSATALLATION,MEDIA&page=0&size=8&include-end=true
 

Response Body

Success

{ "message": "맞춤 전시회 조회 성공", "status": 200, "data": { "content": [ { "exhibitionId" : 1, "name": "번아웃증후군", "thumbnail": "https://www.culture.go.kr/upload/rdf/22/07/show_2022071816261910020.jpg", "startDate": "2022-08-04", "endDate": "2022-08-10", "isLiked": false, "likeCount": 5, "reviewCount": 3 } ], numberOfElements: 2, //content의 요소가 몇개인지 offset: 0, // 현재 페이지에서 시작하는 요소의 index 번호 pageNumber: 0, //페이지 넘버 pageSize: 20, //페이지 사이즈 totalElements: 2, // 전체 요소 수 totalPages: 1 //전체 페이지 수 } }
 

Failure

  • 400 Bad Request
    • code : C003
      • areas 또는 months가 비어있는 경우
      • areas 또는 months에 허용하지 않는 값들이 들어온 경우
      • { message: "적절하지 않은 값입니다.", status: 400, code: "C003" }
    • code : EX018
      • areas 또는 months에 null이 포함된 경우
        • ex) /api/v1/exhibitions/custom?areas=SEOUL,,GYEONGGI&months=JAN,MAR,MAY
        { message: "areas와 months에는 null이 포함될 수 없습니다", status: 400, code: "EX018" }
       
  • 500 Server Error - 서버 내부 문제 발생한 경우
{ message: "서버에 문제가 생겼습니다.", status: 500, code: "C000" }