Skip to content
This repository has been archived by the owner on Aug 13, 2022. It is now read-only.

Detail: 02.EventAPI

Lee JE edited this page Feb 26, 2021 · 3 revisions

festa 어플리케이션의 이벤트 로직에 관한 API 상세스펙 설명서 입니다.

바로가기

1.이벤트 목록 조회 기능
2.이벤트 접수 기능
3.이벤트 취소 기능
4.이벤트 상세보기
5.주최자 이벤트 등록 기능
6.주최자 이벤트 참여자 목록 조회 기능
7.주최자 이벤트 수정 기능
8.주최자 이벤트 삭제 기능


📎 이벤트 목록 조회 기능

festa 어플리케이션에서 가장 메인화면으로, 전체 목록조회와 카테고리별 조회 기능을 제공합니다. 현재 캐싱 기능이 적용 된 상태이며 같은 값으로 요청을 보내면 캐시된 데이터를 읽어옵니다.

GET 요청과 사용자의 회원번호인 userNo , 로딩할 목록 수를 나타내는 size , 그리고 categoryCode 를 같이 전송합니다.


URL

GET /events
http://localhost:8080/

Request parameters

http://localhost:8080/events?cursorUserNo=5&size=10&categoryCode=1

Result

목록 데이터가 존재한다면 모든 목록의 리스트를 출력해주며, 만약 목록이 전혀 없다면 빈 객체를 돌려줍니다.



📎 이벤트 접수 기능

회원이 이벤트에 참여하고 싶을 때 사용하는 기능으로, POST 요청으로 회원의 접수 정보를 객체로 받아 접수합니다. 등록할 이벤트의 고유번호(eventNo), 회원 고유번호(userNo), 회원의 이름 그리고 주소 정보를 Participants 라는 객체로 받아 처리합니다.


URL

POST /events/{eventNo}/applies
http://localhost:8080/

Request Parameters

{ 
  "eventNo":"17",
  "userNo":"4",
  "userName":"제인",
  "cityName":"서울시",
  "districtName":"서초구",
  "streetCode":"1",
  "streetName":"반포로",
  "detail":"고속터미널역 지하2층",
 }

validation check

  • userNo : not null
  • eventNo : not null

Result

성공시 200 상태코드를 리턴하며, 정보 입력 시 접수한 날짜(applyDate), 취소한 날짜(cancelDate), 이벤트 참여일자(participateDate) 가 자동으로 입력됩니다. cancelDatenull 이 들어가며 나머지는 오늘날짜가 자동 입력되어 들어갑니다.

실패시 400 Bad Request 상태코드를 반환합니다.



📎 이벤트 취소 기능

회원이 접수한 이벤트를 취소하고 싶을 때 사용되는 기능이며 PATCH 요청을 보내 처리합니다. 데이터를 실제로 삭제를 하는 것이 아닌, cancelDate 에 현재 시간을 입력하도록 설정되어있습니다.


URL

PATCH /events/cancel
http://localhost:8080/

Request Parameters

{
  "userNo" : 4
}

Result

성공시 200 상태코드를 리턴하며, 만약 해당 이벤트를 접수하지 않았다면 IllegalStateException 예외발생과 함께 400 상태코드를 리턴합니다.



📎 이벤트 상세보기

이벤트 목록에서 클릭하여 상세보기 화면으로 들어갔을 때 사용되는 기능입니다. GET 요청을 보내며 클릭한 이벤트의 고유번호 eventNo 를 받아 처리합니다.

URL

GET  /events/{eventNo}
http://localhost:8080/

Request Parameters

http://localhost:8080/events?eventNo=17

Result

해당 이벤트의 상세정보를 200 상태코드를 리턴하는 ResponseEntity.ok() 에 담아 출력을 합니다. 데이터가 존재하지 않는다면 빈 객체로 출력이 됩니다.



📎 주최자 이벤트 등록 기능

📎 주최자 이벤트 참여자 목록 조회 기능

📎 주최자 이벤트 수정 기능

📎 주최자 이벤트 삭제 기능