[REST API 및 프로젝트 소개]_06_이벤트 비즈니스 로직

less than 1 minute read

Event 생성 API 구현: 비즈니스 로직

Event 생성 API

  • 다음의 입력 값을 받는다.
    • name
    • description
    • beginEnrollmentDateTime : 이벤트 등록 시작 시간
    • closeEnrollmentDateTime : 이벤트 등록 종료 시간
    • beginEventDateTime : 이벤트 시작 일시
    • endEventDateTime : 이벤트 종료 일시
    • location (optional) : 이벤트 장소 - 이게 없으면 온라인 모임
    • basePrice (optional) : 기본 등록비
    • maxPrice (optional)
    • limitOfEnrollment : 등록 참여인원 제한

basePrice와 maxPrice 경우의 수와 각각의 로직

basePrice maxPrice -
0 100 선착순 등록(지정된 금액 결제)
0 0 무료
100 0 무제한 경매 (높은 금액 낸 사람이 등록)
100 200 제한가 선착순 등록
처음 부터 200을 낸 사람은 선 등록.
100을 내고 등록할 수 있으나 더 많이 낸 사람에 의해 밀려날 수 있음.

결과값

  • id ★ //이벤트를 고유하게 식별할 수 있는 식별자

  • name //이벤트 생성 시 입력한 값들도 반환

  • eventStatus: DRAFT, PUBLISHED, ENROLLMENT_STARTED, …

    //기본적으로 DRAFT 상태 (다른 유저에게 이벤트가 보이지 않고 본인에게만 보임)

  • offline //offline 여부는 location에 따라 달라짐(location : true → offline, flase → online)

  • free //유/무료

  • _links //여러 HATEOAS 정보

    • profile (for the self-descriptive message)

      //이 응답 메시지 자체에 대한 정보를 담고있는 문서 링크 → Self-descriptive를 만족

    • self //생성한 이벤트를 조회할 수 있는 자기자신 링크

    • publish