Skip to content

과제 4 - 과일 API 만들기 #2

@sujnkim

Description

@sujnkim

📌구현 기능

문제 1

우리는 작은 과일 가게를 운영하고 있습니다. 과일 가게에 입고된 "과일 정보"를 저장하는 API를 만들어 봅시다.

  • HTTP method: POST
  • HTTP path: /api/v1/fruit
  • HTTP RequestBody
{
    "name": String,
    "warehousingDate": LocalDate,
    "price": long
}
  • HTTP RequestBody Example
{
    "name": "사과",
    "warehousingDate": "2024-02-01",
    "price": 5000
}
  • Response: 성공 시 200
  • 한 걸음 더!
    자바에서 정수를 다루는 대표적인 방법은 intlong이다. 두 가지 방법 중 long을 사용한 이유는 무엇일까?

문제 2

과일이 팔리게 되면, 시스템에 팔린 과일 정보를 기록해야 한다.

  • HTTP method: PUT
  • HTTP path: /api/v1/fruit
  • HTTP RequestBody
{
    "id": long
}
  • Response: 성공 시 200

문제 3

특정 과일을 기준으로 팔린 금액, 팔리지 않은 금액을 조회한다.
예를 들어 다음과 같은 데이터가 있다고 하자.

  1. (1, 사과, 3000원, 판매O)
  2. (2, 사과, 4000원, 판매X)
  3. (3, 사과, 3000원, 판매O)
    결과는 판매된 금액 6000원, 판매되지 않은 금액 4000원이라고 응답해야 한다.
  • HTTP method: GET
  • HTTP path: /api/v1/fruit/stat
  • HTTP query
    • name: 과일 이름
  • 예시: GET /api/v1/fruit/stat?name=사과
  • HTTP ResponseBody
{
    "salesAmount": long,
    "notSalesAmount": long
}
  • 한 걸음 더! SQL의 sum, group by 키워드를 검색해 적용해보자

🔨작업 상세

  • 문제 1: 과일 정보 저장 API POST /api/v1/fruit
  • 문제 2: 팔린 과일 정보 저장 API PUT /api/v1/fruit
  • 문제 3: 팔린/팔리지 않은 금액 조회 API /api/v1/fruit/stat

📄 참고 사항

추가적인 참고 사항이나 주의사항이 있다면 작성해주세요

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions