스파르타내일배움캠프TIL19 내일배움캠프TIL - @RestControllerAdvice 뉴스피드 프로젝트를 하게 되면서 api 요청에 대한 예외처리 응답을 따로따로 관리해주기가 힘들어 이것을 관리해 주는 것이 필요로 하였다. 이러한 부분을 해결하기위해 스프링 부트에서 제공하는 @RestControllerAdvice를 사용하여 예외처리를 하게 되었다. RestControllerAdvice는 주로 @RestController + @RestControllerAdvice + @ExceptionHandler 조합으로 사용된다. 먼저 예외를 담아서 Client에 보내줄 객체를 만든다. @Getter @Setter @AllArgsConstructor public class ExceptionDto { private int statusCode; private HttpStatus state; private .. 2024. 2. 14. 내일배움캠프TIL - ResponseEntity 개인과제를 통한 API 구현 중 클라이언트의 응답을 상태코드와 메세지 그리고 Response하는 data를 반환하기 위하여 ResponseEntity에 대해 알아 보고 적용을 시켰다. ResponseEntity는 Spring Framework에서 제공하는 클래스 중 HttpEntity라는 클래스가 존재한다. 것은 HTTP 요청(Request) 또는 응답(Response)에 해당하는 HttpHeader와 HttpBody를 포함하는 클래스 public class HttpEntity { private final HttpHeaders headers; @Nullable private final T body; } public class RequestEntity extends HttpEntity public clas.. 2024. 2. 6. 내일배움캠프TIL- 영속성 전이 엔티티의 관계에 대해 일대일 , 일대 다 , 다 대 일, 대 대 다를 배우게 되면서 이렇게 관계된 객체들을 쉽게 관리하고 처리를 하기 위해 영속성 전이라는 것을 알아보겠다. 영속성 전이 : CASCADE 영속성 전이 기능은 특정 엔티티를 영속 상태로 만들 때, 연관 엔티티도 영속 상태로 만들고 싶은 경우 사용한다. JPA 에선는 CASCADE 옵션으로 영속성 전이를 제공한다. 영속성 전이를 사용하면, 부모 엔티티를 저장할 때 자식 엔티티도 함께 저장할 수 있다는 것이다. 예를들어 음식 테이블 과 고객 테이블이 N : 1 양방향 관계라고 가정한다면 Food 엔티티 @Entity @Table(name = "food") public class Food { @Id @GeneratedValue(strategy =.. 2024. 1. 30. 내일배움캠프TIL- JWT 어제는 토큰 세션 방식에 대하여 알아보았다. 오늘은 인증 인가 방식중 JWT 기반 인증에 대해 알아보겠다. JWT 인증 방식을 알아보기전에 JWT란 무엇일까? JWT란? 인증에 필요한 정보들을 암호화시킨 토큰을 의미한다. JWT 기반 인증은 쿠키/세션 방식과 유사하게 JWT 토큰(Access Token)을 HTTP 헤더에 실어 서버가 클라이언트를 식별한다. JWT 기반 인증 사용자가 로그인 요청을 보낸다. 서버는 DB의 유저 테이블을 뒤져서 아이디 비밀번호를 대조해본다. 실제 유저테이블의 정보와 일치한다면 인증을 통과한 것으로 보고 유저의 정보를 JWT로 암호화 해서 내보낸다. 서버는 로그인 요청의 응답으로 jwt 토큰을 내어준다. 클라이언트는 그 토큰을 저장소에 보관하고 앞으로의 요청마다 토큰을 같이 .. 2024. 1. 25. 이전 1 2 3 4 5 다음