Spring Boot (55) 썸네일형 리스트형 [Spring Boot] Exception Handler 만들기 보호되어 있는 글입니다. [Spring Boot] Api Error Code 만들기 보호되어 있는 글입니다. [Spring Boot] 여러가지 사용하는 Class 보호되어 있는 글입니다. [Spring Boot] Web Authentication(웹 인증) 웹 인증이란?웹 인증은 HTTP 프로토콜의 특성으로 인해 사용자가 누구인지 확인하고, 권한이 있는지 확인하는 데 사용됩니다. 이는 웹 사이트에서의 본인 신분증과 같은 개념입니다. 사용자가 특정 사이트에서 서버에 요청을 보낼 때마다 꾸준히 인증이 이루어집니다.웹 사이트에서의 인증 동작 현실 예시:술집(홈페이지)에 들어갔을 때 신분증 검사술, 음식을 주문할 때마다 신분증 검사밖에 잠시 나갔다 왔을 때 신분증 검사즉, 웹사이트에서는 꾸준히 신분증을 검사하고 있습니다. HTTP 프로토콜 특성을 아직 모르신다면 이 글을 참고하시는 것을 추천합니다. 웹 인증은 웹 서비스의 보안성을 높이며, 사용자 데이터의 무단 접근을 방지하기 위한 중요한 보안 요소입니다.웹 인증이 없다면?웹 인증이 없다면, 관리자만 접근할 수 있.. [Spring Boot] LoggerFilter만들기 Class를 생성하여 Filter 인터페이스를 상속을 받습니다 Filter 인터페이스 내용import java.io.IOException;public interface Filter { // Filter 생성 시 호출되는 메소드 default void init(FilterConfig filterConfig) throws ServletException { } void doFilter(ServletRequest var1, ServletResponse var2, FilterChain var3) throws IOException, ServletException; // Filter 삭제 시 호출되는 메소드 default void destroy() { }}doFilter .. [Spring Boot] IoC/DI IoC란?IoC는 Inversion of Control의 약자로, 제어의 역전이라는 뜻을 가지고 있습니다.자바에서 객체를 생성하기 위해서는 필요한 곳에서 직접 생성을 합니다.public class A { B b = new B();} 제어의 역전(IoC)은 다른 객체를 직접 생성하거나 제어하는 것이 아니라, 외부에서 관리하는 객체를 가져와 사용하는 것을 말합니다. 외부에서 객체 가져오기public class A { private B b;}이전과 다르게 new 키워드를 사용하지 않으며, B 객체를 직접 생성하는 것이 아니라 외부에서 객체를 받아와서 사용하고 있습니다. 쉽게 설명하기 위해 "외부"라고 표현했지만, 정확하게는 스프링의 스프링 컨테이너에서 객체를 받아와서 사용하고 있습니다. DI란?D.. [Spring Boot] 유효성 검사와 예외 처리를 통한 API 구현 기존 문제점기존 포스트에서 작성한 서비스 로직에서는 두 가지 문제점이 있습니다:서비스 로직 내에서 오류 처리를 수행한다: 이로 인해 코드가 복잡해지고 가독성이 떨어집니다.오류 발생 시 상태 코드 200을 반환한다: 클라이언트는 오류가 발생했음에도 불구하고 정상 응답으로 인식할 수 있습니다.이 문제를 해결하기 위해 ResponseEntity를 사용하여 상태 코드를 적절하게 설정하고, ExceptionHandler를 사용하여 예외 처리를 분리하는 방법을 적용해 보겠습니다.Step 1: ResponseEntity를 활용한 상태 코드 설정먼저, ResponseEntity를 사용하여 상태 코드를 반환하도록 변경하겠습니다. 이렇게 하면 오류 발생 시 적절한 상태 코드를 반환할 수 있습니다.변경된 StudentVal.. [Spring Boot] Validation 유효성 검사 클라이언트 오류 보내기 1. API 형식 정의먼저 서버와 클라이언트 간에 주고받는 데이터 형식을 통일하기 위해 API 형식을 정의합니다. Api 클래스는 다음과 같이 구성됩니다:import com.fasterxml.jackson.databind.PropertyNamingStrategies;import com.fasterxml.jackson.databind.annotation.JsonNaming;import lombok.AllArgsConstructor;import lombok.Builder;import lombok.Data;import lombok.NoArgsConstructor;import java.util.List;@Data@AllArgsConstructor@NoArgsConstructor@Builder@JsonNaming.. 이전 1 ··· 3 4 5 6 7 다음