-
코드잇 백엔드 스프린트 - 9주차 위클리-페이퍼: Rest Full API개발/활동 2025. 4. 7. 11:13반응형
✅ 1. SOAP에서 REST로의 전환: 이유와 장단점
🔁 전환 이유
- SOAP의 복잡성: WSDL, XML 스키마, 헤더 등 너무 무겁고 복잡함.
- HTTP 친화성 부족: 다양한 프로토콜을 지원하나, HTTP에 최적화되어 있지 않음.
- 개발 생산성 저하: 구현과 유지보수가 어렵고, 디버깅도 복잡함.
- REST의 간결함: HTTP 메서드와 URI로 명확하고 직관적인 설계가 가능함.
✅ REST의 장단점
✅ 장점
항목 설명
경량 구조 JSON 등 경량 포맷 사용 가능 직관적 URI 설계 리소스를 URI로 표현 HTTP 캐싱 지원 HTTP 자체 기능 활용 가능 플랫폼 독립성 다양한 클라이언트에서 호출 가능 확장성 유연하고 확장에 용이함 ❌ 단점
항목 설명
표준화 부족 보안, 트랜잭션 등은 직접 구현해야 함 고급 기능 부재 SOAP의 WS-* 기능들을 기본적으로 제공하지 않음 버전 관리 어려움 URI 또는 헤더에 버전 명시 필요
✅ 2. Spring Boot: @RestController 요청 → 응답 처리 흐름
📌 전체 흐름
[Client] → HTTP 요청 전송 ↓ [DispatcherServlet] ← 요청 수신 (프론트 컨트롤러) ↓ [HandlerMapping] ← 어떤 컨트롤러 메서드인지 탐색 ↓ [HandlerAdapter] ← 해당 메서드 호출 ↓ [@RestController 메서드] ← 비즈니스 로직 실행 ↓ [HttpMessageConverter] ← 자바 객체 → JSON 변환 (※ 핵심 포인트!) ↓ [DispatcherServlet] ← 변환된 응답 반환 ↓ [Client] ← 최종 HTTP 응답 전송
📌 HTTP 메시지 컨버터 (HttpMessageConverter)
시점 설명
컨트롤러 반환 이후 메서드 반환값이 Java 객체일 때 작동 변환 대상 @ResponseBody 또는 @RestController 메서드의 반환 객체 주요 역할 Java 객체를 JSON, XML, String 등으로 변환 대표 구현체 MappingJackson2HttpMessageConverter (→ JSON), StringHttpMessageConverter 등 반응형'개발 > 활동' 카테고리의 다른 글
코드잇 백엔드 스프린트 - 8주차 위클리-페이퍼: Spring 기초 (0) 2025.03.31 코드잇 백엔드 스프린트 - 7주차 위클리-페이퍼 WAS (0) 2025.03.24 코드잇 백엔드 스프린트 - 6주차 위클리-페이퍼 : 프레임워크와 라이브러리의 차이점 (0) 2025.03.16 코드잇 백엔드 스프린트 - 6주차 위클리-페이퍼 : Spring Framework의 탄생 배경과 해결하고자 했던 문제점 (0) 2025.03.16 코드잇 백엔드 스프린트 - 5주차 위클리 페이퍼 : HashSet 와 O(n)과 O(log n)의 성능 차이 (0) 2025.03.09