Back-End/Spring
Spring Swagger
2025.02.10
Spring Swagger란?Swagger는 RESTful API의 문서를 자동으로 생성해주는 도구입니다. Spring Boot 프로젝트에서 주로 Swagger UI를 통해 API 명세를 시각적으로 보여줍니다. 이를 통해 개발자나 클라이언트는 API의 동작 방식과 요청/응답 구조를 쉽게 이해하고 테스트가능Swagger는 이제 **OpenAPI Specification (OAS)**로 발전했으며, Springdoc OpenAPI 라이브러리를 주로 사용Swagger의 장점자동 API 문서화: 코드 주석 기반으로 자동 문서 생성API 테스트 용이: Swagger UI에서 직접 API 호출 및 테스트개발자 협업 강화: 명확한 API 명세 제공버전 관리: API 변경에 따른 문서 자동 업데이트Spring Boot..
Back-End/Spring
Spring Security
2025.02.10
Spring Security는 스프링 프레임워크 기반의 인증과 권한 부여(Authentication & Authorization)를 담당하는 보안 프레임워크입니다. 웹 애플리케이션과 REST API에서 보안을 강화하기 위해 사용주요 기능인증(Authentication)사용자가 누구인지 확인하는 과정예: 로그인 처리권한 부여(Authorization)인증된 사용자가 특정 리소스에 접근할 수 있는 권한이 있는지 확인예: 관리자 페이지 접근 제한보안 공격 방어CSRF(Cross-Site Request Forgery) 방어세션 고정 공격 방어XSS(Cross-Site Scripting) 방어클릭재킹 방어다양한 인증 방식 지원기본 폼 로그인HTTP Basic AuthOAuth2/OpenID ConnectJWT(J..
Back-End/Spring
WebSocket 예제
2024.12.05
ChatController@Controllerpublic class ChatController { @GetMapping("/chat.do") public String chat() { return "chat/chatting"; }} WebSocketConfig@Componentpublic class WebSocketConfig { @Bean public ServerEndpointExporter serverEndpointExporter() { return new ServerEndpointExporter(); }} WebSocketServer//@Service ...필수아님//@Service 어노테이션은 해당 클래스를 관리하며,웹 소켓 연결과 관련된 라이프사이클 이벤트를 처리하도록 하는데 필수적인..
Back-End/Spring
WebSocket
2024.12.05
WebSocket은 HTML5에서 제공하는 양방향 통신 프로토콜 클라이언트와 서버 간에 **지속적인 연결(persistent connection)**을 유지하면서, 양방향으로 데이터를 실시간으로 주고받을 수 있도록 설계되었습니다. WebSocket은 HTTP와 함께 사용되지만, HTTP와는 다른 독립적인 프로토콜주요 특징양방향 통신 (Full-Duplex):클라이언트와 서버가 서로 동시에 데이터를 주고받을 수 있습니다.요청-응답 패턴이 아니라, 필요할 때 자유롭게 메시지를 주고받음.지속적인 연결 유지:클라이언트와 서버가 연결을 맺은 이후에는 지속적으로 연결을 유지합니다.새로 요청을 보내거나 연결을 다시 설정하지 않아도 실시간 데이터를 주고받을 수 있습니다.낮은 오버헤드:HTTP는 요청마다 헤더를 전송해야..
Back-End/Spring
Flash Attributes / RedirectAttributes
2024.11.29
Spring Framework에서 **Flash Attributes**는 리다이렉트(redirect) 시 데이터를 전달하기 위해 사용됩니다. 일반적인 요청 파라미터(query string)와 달리, Flash Attributes는 세션에 임시 저장되며, 리다이렉트 이후 자동으로 제거됩니다. 이를 통해 클라이언트가 보낸 데이터가 URL에 노출되지 않으면서도 데이터를 전달할 수 있습니다. 1. 주요 개념Flash Attributes란?Flash Attributes는 리다이렉트 후 사용할 데이터를 일시적으로 저장하기 위해 사용됩니다.데이터는 서버의 세션에 저장되며, 리다이렉트 이후 즉시 삭제됩니다.주로 **RedirectAttributes**를 통해 설정하고, 다음 요청에서 **RequestContextUti..