CS/REST API 5

PUT vs PATCH

PUT1️⃣ PUT은 “전체 리소스를 갱신”하는 것이 원칙  • PUT은 리소스를 전체 교체(Overwrite)하는 개념입니다. • 기존 데이터와 변경할 데이터를 합치는 것이 아니라, 새로운 데이터로 완전히 대체합니다. • 따라서, 누락된 필드는 기본값이 되거나 제거될 수도 있음 📌 예제PUT /users/1 HTTP/1.1Content-Type: application/json{ "name": "Alice", "age": 25}✔ 기존 userId=1의 데이터가 "name": "Alice", "age": 25로 완전히 덮어씌워짐✔ 만약 기존에 email 필드가 있었다면? → 사라질 수도 있음 💡 따라서 PUT을 사용할 때는 모든 필드를 클라이언트에서 보내야 함PATCH2️⃣ PATCH는 일..

CS/REST API 2025.03.17

PATCH API

HTTP 메서드 PATCHPATCH API는 리소스의 일부만 수정할 때 사용하는 HTTP 메서드입니다.즉, 전체 데이터를 업데이트하는 PUT과 달리, 변경할 필드만 전송하여 수정하는 방식입니다.특징💡 null 체크를 하지 않으면 수정하지 않으려던 필드도 null로 변경될 수 있다. ex. 데이터// 현재 DB에 저장된 모임 정보class ClassEntity { name = "코딩 스터디"; description = "자바 공부하는 모임";}// PATCH 요청으로 description만 수정하고 싶을 때{ "description": "스프링 공부하는 모임"} ex. null 체크 Xpublic void updateInfo(String name, String description) { ..

CS/REST API 2025.03.14

HTTP 상태 코드

HTTP 상태 코드 종류HTTP 상태 코드는 클라이언트 요청에 대한 서버의 응답 상태를 나타내는 숫자 코드입니다.다음은 1xx, 2xx, 3xx, 4xx, 5xx로 분류된 상태 코드의 주요 종류입니다. 📌 1xx (정보 응답, Informational)상태 코드의미설명100 Continue계속 진행요청의 일부를 받고, 계속 진행해도 됨101 Switching Protocols프로토콜 변경클라이언트의 요청에 따라 서버가 프로토콜을 변경 중103 Early Hints사전 정보본문이 전송되기 전에 일부 응답 헤더를 먼저 전송 📌 2xx (성공, Success)상태 코드의미설명200 OK정상 처리요청이 성공적으로 처리됨201 Created생성됨요청을 받아 새로운 리소스가 생성됨 (ex. POST 요청)202..

CS/REST API 2025.03.11

REST API 주요 어노테이션

REST APIREST API는 클라이언트(브라우저, 모바일 앱, 또는 다른 서버)와 서버 간의 데이터를 주고받는 방식으로, 주로 HTTP 프로토콜과 JSON 데이터 형식을 사용합니다. REST API를 구현하기 위해 Spring Boot는 다양한 컨트롤러 및 요청 처리 어노테이션을 제공합니다.Annotation@RestController • RESTful API를 구현하는 컨트롤러임을 나타냅니다. • @Controller + @ResponseBody 기능을 포함하여 JSON 데이터를 반환하는 데 적합 • 모든 메서드의 반환 값이 HTTP 응답 Body로 직렬화됨(JSON 또는 XML)@RestController@RequestMapping("/api/products")public class Product..

CS/REST API 2025.02.20