[Spring/기초] Valid 예외 처리 + 404, 405 (2)
Spring/Spring 기초2024. 9. 13. 01:23[Spring/기초] Valid 예외 처리 + 404, 405 (2)

문제지금 식별한 부분중 처리되지 않는 에러MethodArgumentNotValidException 400MissingServletRequestParameterException 400HandlerMethodValidationException 400NoHandlerFoundException 404HttpRequestMethodNotSupportedException 405이들은 공통응답처리가 되지 않았다valid, validate, 없는 url과 없는 method로 호출할때가 공통응답 처리가 되지 않았다.@RestControllerAdvicepublic class GlobalExceptionHandler extends ResponseEntityExceptionHandler이유는 ResponseEntityExc..

[Spring/기초] api 공통 응답 포맷 + 예외 처리 합치기 (2)
Spring/Spring 기초2024. 7. 15. 17:48[Spring/기초] api 공통 응답 포맷 + 예외 처리 합치기 (2)

공통 응답 포맷을 만드는 이유일관된 응답 형식 유지모든 API 응답을 일관된 형식으로 유지할 수 있다.이는 전체적인 프로그램의 유지 보수성을 높인다.로깅 및 모니터링같은 방식으로 응답을 하니 로깅 및 모니터링이 더 쉬워진다.보안 및 데이터 검증응답을 전역적으로 처리함으로써 민감한 정보를 숨기거나 데이터를 검증하는 등의 보안 작업을 일관되게 수행할 수 있다.ResponseBodyAdvice 공통 응답 포맷1. 공통 응답 코드 형식 정하기public interface ResponseCode { String name(); HttpStatus getHttpStatus(); String getData();}클라이언트에게 공통 응답 코드를 어떤 형식으로 보내줄 것인지 정의한다.@Getter@Requ..

[Spring/기초] 전역 예외 처리 + Test Code (1)
Spring/Spring 기초2024. 7. 14. 22:17[Spring/기초] 전역 예외 처리 + Test Code (1)

전역 예외 처리를 해야하는 이유Spring은 에러 처리를 위한 BasicErrorController를 구현해뒀다. 그래서 예외가 발생한다면 기본적으로 /error로 에러 요청을 다시 전달하도록 WAS 설정을 해놨다.이것은 Springboot의 WebMvcAutoConfiguration을 통해서 자동으로 이루어진다. 일번적 요청의 흐름은 다음과 같이 진행된다.WAS(톰캣)필터서블릿 (디스패처 서블릿)인터셉터컨트롤러예외가 발생했을 때 별도의 처리를 하지 않았다면 WAS까지 에러가 전달된다. 이때 WAS는 애플리케이션에서 처리를 못하는 예외라 exception이 올라왔다 판단, 대응 작업을 진행한다.컨트롤러(예외 발생)인터셉터서블릿 (디스패처 서블릿)필터WASWAS는 스프링 부트가 등록한 에러 설정에 맞게 요..

[Spring/Security] JWT 생성, 검증 JwtTokenizer 만들기 (JWT Spring에서 사용하기 1)
Spring/Security2024. 7. 2. 09:47[Spring/Security] JWT 생성, 검증 JwtTokenizer 만들기 (JWT Spring에서 사용하기 1)

JWT를 Spring에서 어떻게 사용하는지 알아보자일단 JwtTokenizer클래스를 만들고 @Component를 사용해서 빈으로 등록하자메소드를 중심으로 설명해 보겠다.https://naturecancoding.tistory.com/109 [Security/JWT] JWT 기초JWT 정의JSON Web Token 정보를 안전하게 전송하기 위한 표준 방법 중 하나.Json객체를 사용해서 정보를 저장하고, 디지털 서명을 통해서 검증한다.JWT 구성 요소1. HeaderJWT의 타입과 해싱 알고리즘 정보naturecancoding.tistory.comJWT가 뭔지 궁금한 분들은 기초를 보고오자1. 맴버 변수private final byte[] accessSecret; //JWT 서명을 위한 비밀 키 엑세스 ..

[Spring/기초] RestController  완벽 정리 (return type, 파라미터, 추가 개념 및 기능)
Spring/Spring 기초2024. 6. 23. 22:37[Spring/기초] RestController 완벽 정리 (return type, 파라미터, 추가 개념 및 기능)

내가 정리해두고 두고두고 볼라고 만든RestController 완벽 정리정리할 것, 예시코드 예시코드를 사용한 상세 설명 순으로 구성했다.Title - Excode - Description(3쌍)Return Type 정리1.기본 객체 및 컬렉션단일 객체@GetMapping("/user/{id}")public User getUser(@PathVariable Long id) { return userService.findById(id);}//예시 Json 응답{ "id": 1, "name": "John Doe", "email": "john.doe@example.com"} 객체를 반환 json으로 변환 해줌 리스트 or 맵 같은 컬렉션@GetMapping("/users")public Lis..

[Spring/기초] 환경 변수 파일 사용하기 (env.properties)
Spring/Spring 기초2024. 5. 28. 22:04[Spring/기초] 환경 변수 파일 사용하기 (env.properties)

Spring Boot에서 환경변수 파일로 민감한 정보 따로 보관하기환경변수를 Spring boot 프로젝트 전역에서 사용하려면 따로 설정을 해줘야 한다.그럼 한번 방법을 알아보자1. 변수 파일 생성recources/properties 폴더 생성 후 env.properties파일 생성2. env 파일에 환경변수 적기DB_HOST=localhostDB_PORT=5432DB_NAME=exampleDBDB_USERNAME=postgresDB_PASSWORD=1234요런식으로 자신이 원하는 변수들 적기꼭 .gitignore에 적어서 변수가 git에 안올라가도록 하자3. env 파일을 사용할 수 있도록 Spring boot에 연결config폴더에 PropertyConfig.java 생성package com.exam..

728x90
반응형
image