공유된 따라하기 · 스프링부트

Spring Boot REST API — 관리자 메뉴 CRUD 컨트롤러 만들기

대상 @RestController와 기본 어노테이션을 알고, Java 17+와 Spring Boot 3.x, Gradle, Postman을 설치해 둔 사람

목표 MenuController에 5개 엔드포인트(POST, GET 목록, GET 상세, PUT, DELETE)를 목업 데이터로 구현하고 Postman으로 테스트한다

완성물 MenuController 클래스와 관련 DTO 클래스들이 포함된 프로젝트. Postman으로 각 엔드포인트를 호출할 때 올바른 상태 코드와 JSON 응답이 반환되는 상태

Java 17 이상, Spring Boot 3.x, Gradle, Postman이 설치되어 있어야 합니다.


STEP 1 / 10HTTP 메서드와 REST API의 대응 관계 이해하기

0개 완료 · 10개 남음

  1. REST API를 만들 때 가장 먼저 알아야 할 것은 "어떤 동작에 어떤 HTTP 메서드를 쓰는가"입니다. 이 단계에서는 코드를 쓰지 않고, 개념만 정리해 볼게요.

    1-1. HTTP 메서드 4가지의 역할 확인

    아래 표를 보고 각 메서드가 어떤 의미를 가지는지 읽어 보세요.

    HTTP 메서드 의미 REST API에서의 역할
    GET 가져오기 리소스를 조회한다. 데이터를 변경하지 않는다.
    POST 만들기 새로운 리소스를 생성한다.
    PUT 전체 교체 기존 리소스를 전체적으로 수정한다.
    DELETE 삭제하기 리소스를 삭제한다.

    1-2. 메뉴 CRUD와 메서드 매핑

    관리자 메뉴 관리 기능을 이 메서드에 매핑해 보세요.

    • 메뉴 생성: POST /api/v1/admin/menus
    • 메뉴 목록 조회: GET /api/v1/admin/menus
    • 메뉴 상세 조회: GET /api/v1/admin/menus/{id}
    • 메뉴 수정: PUT /api/v1/admin/menus
    • 메뉴 삭제: DELETE /api/v1/admin/menus/{id}

    ✅ 확인

    • 위 표를 보고 "생성=POST, 조회=GET, 수정=PUT, 삭제=DELETE"가 자연스럽게 떠오릅니다.
    • URL 구조에서 /menus/{id}가 특정 리소스를 가리킨다는 것을 이해합니다.

    🎓 newlec 쌤의 코멘트

    REST API는 "리소스"를 중심으로 설계합니다. /menus는 메뉴 목록이라는 리소스이고, /menus/1은 id가 1인 메뉴라는 특정 리소스입니다. HTTP 메서드는 이 리소스에 대한 "동작"을 나타냅니다. GET은 읽기만 하고, POST는 만들고, PUT은 덮어쓰고, DELETE는 지웁니다. 이 규칙을 지키면 프론트엔드 개발자나 다른 백엔드 개발자가 코드를 보지 않고도 API를 어떻게 써야 하는지 알 수 있습니다.

    📝 이 단계의 핵심

    • GET은 조회, POST는 생성, PUT은 수정, DELETE는 삭제.
    • URL의 {id}는 특정 리소스를 가리키는 경로 변수입니다.

이 주소는 글의 저작자가 공개한 링크입니다. 뉴렉처 스터디의 다른 자료는 로그인 후 볼 수 있어요.