Spring Framework(168)
-
CORS
📌 Spring MVC의 CORS (Cross-Origin Resource Sharing) 정리🔹 1️⃣ CORS란?CORS(Cross-Origin Resource Sharing)는 다른 도메인에서 AJAX Request을 허용할지 결정하는 보안 정책입니다.웹 브라우저는 보안 문제로 인해 같은 출처(Same-Origin)의 요청만 허용하며,다른 출처(Origin)에서 오는 Request는 기본적으로 차단됩니다.✔ 같은 출처(Same-Origin) 요청 예시✅ https://example.com → https://example.com/api/data (허용)✔ 다른 출처(Cross-Origin) 요청 예시❌ https://evil.com → https://example.com/api/data (차단)?..
2025.03.05 -
URI Links
📌 Spring에서 URI(Uniform Resource Identifier) 다루기 정리Spring은 URI를 동적으로 생성, 파싱, 인코딩 및 링크 작성하는 다양한 기능을 제공합니다.이를 통해 RestTemplate, WebClient, 컨트롤러, 뷰(JSP, Thymeleaf) 등에서 URI를 보다 유연하게 구성할 수 있습니다.🔹 1️⃣ UriComponents 및 UriComponentsBuilderSpring에서는 UriComponentsBuilder를 사용하여 동적으로 URI를 생성할 수 있습니다.URI 템플릿을 사용하여 변수를 포함한 동적 URI를 쉽게 생성할 수 있습니다.📍 ✔ 기본 사용법UriComponents uriComponents = UriComponentsBuilder ..
2025.03.05 -
HATEOAS(Hypermedia as the Engine of Application State)
🌐 HATEOAS(Hypermedia as the Engine of Application State) 상세 설명🔥 1. HATEOAS란?HATEOAS(Hypermedia as the Engine of Application State)는 REST API의 확장 개념으로,클라이언트가 별도의 API 문서 없이도 응답 데이터에 포함된 하이퍼링크를 사용하여 동적으로 리소스를 탐색할 수 있도록 하는 기법입니다.✅ 즉, API 응답에 다음 가능한 액션(링크)을 포함하여, API 사용자가 이를 보고 자연스럽게 API를 활용할 수 있도록 하는 것! 📌 REST API vs HATEOASREST APIHATEOAS요청에 대해 JSON/XML 응답 반환응답에 추가 가능한 링크(URI) 포함API 문서를 따로 확인해야 ..
2025.03.03 -
Logging
Spring MVC에서 로깅(logging)은 애플리케이션의 동작을 추적하고 디버깅하는 데 필수적인 기능입니다.특히, Spring MVC의 DEBUG 및 TRACE 레벨 로깅은 가독성이 좋고, 최소한의 정보로도 유용한 디버깅이 가능하도록 설계되어 있습니다.1. Spring MVC의 로깅 레벨(Log Level)Spring MVC에서 로그는 다양한 레벨(level)을 지원하며, 목적에 따라 적절한 레벨을 설정할 수 있습니다.로그 레벨설명ERROR애플리케이션에서 치명적인 오류 발생 시 기록WARN애플리케이션이 정상 동작하지만 주의해야 할 사항 기록INFO주요 이벤트나 상태 변경 사항을 기록DEBUG디버깅을 위해 상세한 정보를 기록TRACEDEBUG보다 더 상세한 정보를 기록 (추적 목적으로 사용)📌 DEB..
2025.02.28 -
Multipart Resolver
Spring MVC에서 파일 업로드 및 멀티파트 데이터 처리를 위해 MultipartResolver를 사용합니다.MultipartResolver는 multipart/form-data 요청을 파싱하고, 업로드된 파일을 다룰 수 있도록 도와주는 인터페이스입니다.1. MultipartResolver 개념웹 애플리케이션에서 파일 업로드는 일반적인 application/x-www-form-urlencoded 요청과 다르게 처리됩니다.파일 업로드 요청은 multipart/form-data 형식으로 전송되며, 이를 파싱해야만 개별 파일과 폼 데이터를 사용할 수 있습니다.Spring MVC에서는 MultipartResolver를 사용하여 multipart 요청을 자동으로 파싱하고,기존 HttpServletRequest..
2025.02.28 -
View Resolution
Spring MVC에서 뷰(View)란 사용자가 요청한 데이터를 렌더링하여 응답하는 역할을 합니다.Spring MVC는 특정 뷰 기술(JSP, Thymeleaf, FreeMarker 등)에 종속되지 않고,ViewResolver를 사용하여 논리적인 뷰 이름을 실제 뷰로 변환하는 방식을 채택하고 있습니다.1. ViewResolver와 View 개념Spring MVC는 View와 View Resolution을 분리하여,컨트롤러가 특정 뷰 기술(JSP, FreeMarker 등)에 종속되지 않도록 설계되었습니다.📌 ViewResolver 역할컨트롤러가 반환한 논리적인 뷰 이름(view name)을 실제 뷰 객체로 변환예를 들어, "home"이라는 뷰 이름이 "WEB-INF/views/home.jsp"로 매핑될 ..
2025.02.28