분류 전체보기(158)
-
이메일 인증을 처리하는 방식: @GetMapping 대신 @PostMapping 사용 이유
이메일 인증을 구현하면서, /email/verify 엔드포인트가 @GetMapping이 아닌 @PostMapping이어야 하는 이유를 알게 되었습니다. 처음에는 @GetMapping이 적합할 것이라고 생각했지만, 여러 이유로 @PostMapping을 사용하는 것이 더 적합함을 깨달았습니다. 이번 블로그에서는 그 이유를 정리해 보겠습니다.1. 데이터 변경과 상태 변화@GetMapping은 보통 서버의 상태를 변경하지 않고 데이터를 조회하는 요청에 사용됩니다. 하지만 이메일 인증은 사용자가 입력한 인증번호를 서버에서 검증하고, 그 결과에 따라 인증 상태를 변경하는 상태 변화가 발생하는 작업입니다.예를 들어, 인증이 성공하면 사용자의 계정 상태를 활성화해야 할 수도 있습니다. 이런 이유로 인증 처리 작업은 서..
2025.02.19 -
@PutMapping, @PatchMapping, @GetMapping, @PostMapping 에 관하여...
📌 주제: "온라인 쇼핑몰 (E-commerce)"상품을 조회 (@GetMapping)새로운 상품을 추가 (@PostMapping)상품 정보를 수정 (전체 변경) (@PutMapping)상품 정보를 수정 (부분 변경) (@PatchMapping)✅ 1. @GetMapping (조회)👉 사용자가 특정 상품 정보를 조회할 때@GetMapping("/products/{id}")public ResponseEntity getProduct(@PathVariable Long id) { ProductResponseDto product = productService.getProductById(id); return ResponseEntity.ok(product);}✨ 설명GET /products/1 같은 요..
2025.02.15 -
DTO를 Request, Response로 나누는 이유
DTO(Data Transfer Object)를 request와 response로 나누는 이유는 입력과 출력의 역할이 다르기 때문.📌 주제: "도서 관리 시스템" (Library Management System)사용자가 책을 추가할 때 Request DTO사용자가 책 정보를 조회할 때 Response DTO✅ 1. Request DTO (입력)클라이언트 → 서버로 데이터를 보낼 때 사용주로 POST, PUT, PATCH 요청에서 사용됨유효성 검사(ex: @Valid, @NotNull)를 적용할 수 있음데이터베이스 엔티티와 1:1 매핑되지 않아도 됨 (클라이언트가 필요한 데이터 구조를 따름)package com.example.library.dto.request;import lombok.Getter;imp..
2025.02.15 -
서울에 위치한 식당 목록 출력하기
문제 설명다음은 식당의 정보를 담은 REST_INFO 테이블과 식당의 리뷰 정보를 담은 REST_REVIEW 테이블입니다. REST_INFO 테이블은 다음과 같으며 REST_ID, REST_NAME, FOOD_TYPE, VIEWS, FAVORITES, PARKING_LOT, ADDRESS, TEL은 식당 ID, 식당 이름, 음식 종류, 조회수, 즐겨찾기수, 주차장 유무, 주소, 전화번호를 의미합니다.Column nameTypeNullableREST_IDVARCHAR(5)FALSEREST_NAMEVARCHAR(50)FALSEFOOD_TYPEVARCHAR(20)TRUEVIEWSNUMBERTRUEFAVORITESNUMBERTRUEPARKING_LOTVARCHAR(1)TRUEADDRESSVARCHAR(100)T..
2024.10.30 -
3월에 태어난 여성 회원 목록 출력하기
문제 설명다음은 식당 리뷰 사이트의 회원 정보를 담은 MEMBER_PROFILE 테이블입니다. MEMBER_PROFILE 테이블은 다음과 같으며 MEMBER_ID, MEMBER_NAME, TLNO, GENDER, DATE_OF_BIRTH는 회원 ID, 회원 이름, 회원 연락처, 성별, 생년월일을 의미합니다.Column nameTypeNullableMEMBER_IDVARCHAR(100)FALSEMEMBER_NAMEVARCHAR(50)FALSETLNOVARCHAR(50)TRUEGENDERVARCHAR(1)TRUEDATE_OF_BIRTHDATETRUE문제MEMBER_PROFILE 테이블에서 생일이 3월인 여성 회원의 ID, 이름, 성별, 생년월일을 조회하는 SQL문을 작성해주세요. 이때 전화번호가 NULL인 ..
2024.10.30 -
과일로 만든 아이스크림 고르기
문제 설명다음은 아이스크림 가게의 상반기 주문 정보를 담은 FIRST_HALF 테이블과 아이스크림 성분에 대한 정보를 담은 ICECREAM_INFO 테이블입니다. FIRST_HALF 테이블 구조는 다음과 같으며, SHIPMENT_ID, FLAVOR, TOTAL_ORDER 는 각각 아이스크림 공장에서 아이스크림 가게까지의 출하 번호, 아이스크림 맛, 상반기 아이스크림 총주문량을 나타냅니다. FIRST_HALF 테이블의 기본 키는 FLAVOR입니다.NAMETYPENULLABLESHIPMENT_IDINT(N)FALSEFLAVORVARCHAR(N)FALSETOTAL_ORDERINT(N)FALSEICECREAM_INFO 테이블 구조는 다음과 같으며, FLAVOR, INGREDITENT_TYPE 은 각각 아이스크림..
2024.10.29