분류 전체보기(77)
-
[Spring] 예외 처리 ExceptionHandler
스프링에서 @ExceptionHandler는 애플리케이션에서 발생하는 특정 예외를 처리하기 위해 사용되는 애노테이션이다. @ExceptionHandler는 주로 REST API를 개발할 때 유용하며, 사용자에게 친화적인 에러 메시지를 제공하거나 특정 HTTP 상태 코드를 반환하는 데 사용된다.-> Response Body를 직접 설정 가능 기본 사용법@ExceptionHandler는 컨트롤러 클래스나, 컨트롤러 계층 전반에서 예외를 처리하는 데 사용됩니다.@RestController@RequestMapping("/api")public class SampleController { @GetMapping("/test") public String testEndpoint() { // 예..
2024.11.29 -
[JAVA] Dto 클래스에 대하여 record로 사용하는 이유
record는 간단한 데이터 타입의 구조를 저장할 때 쓰는 것으로, DTO 클래스에 적합한 형식이다. 예시코드1public record User( String id, String password ) { public static User of( String id, String password ) { return new User(id, password); }} 이를 사용하면 Getter 생성자도 필요없이 그냥 바로 필드에 접근하는 것이 가능하다. 간단하고 불변하는 객체에 대하여 적용하기 좋다. (확장성은 부족)또한 불변 데이터를 모델링하는 데에 집중하도록 함그래서 DTO 클래스에 대하여 record를 적용한다.(Entit..
2024.11.27 -
[Spring] ResponseEntity에서 객체를 반환할 때 new 연산자 사용
ResponseEntity 반환ResponseEntity 객체 반환 1. 정적 팩토리의 사용 예시 코드return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR) .body(errorResponse); Response.status(), ResponseEntity.ok() 등 메서드를 사용하면 코드가 간결해지면서매개변수의 순서가 어떻게 되든 상관 없이 알아서 메서드를 사용하여 설정하면 됨직접 new를 사용하여 생성자를 호출할 필요 없기에 깔끔함객체 생성 방식이 코드에 노출되지 않아 더욱 유연하고 유지보수하기 쉬운 구조를 가질 수 있음 2. 직접 new 생성자를 사용 예시코드return new ResponseEntity(errorResponse, ..
2024.11.26 -
[Spring] @EqualsAndHashCode
@Data 어노테이션에서도 다뤘었던 내용이다.(참고: https://kite-u.tistory.com/107 ) 간단히 설명하자면, Equals와 HashCode 메서드 기능을 둘 다 제공 가능하는 어노테이션이다. 어노테이션을 사용하지 않을 때import java.util.Objects;public class Person { private String name; private int age; // 자동 생성된 equals() @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false..
2024.11.25 -
[백엔드] CSRF(Cross Site Request Forgery) 살펴보기
CSRF( Cross Site Request Forgery ) 란?CSRF는 사용자와 서버의 요청과 응답 간의 위조이다.로그인 기능의 보안을 위한 기능으로, 사용자를 속여 의도치 않은 요청을(PostRequest) 실행시키는 공격을 방지해주는 매커니즘이다! 예시 코드@Configuration@EnableWebSecuritypublic class SecurityConfig { @Bean public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception { http // ... .csrf((csrf) -> csrf .csrfTokenRepository(new HttpSessionCsrfTokenRepositor..
2024.11.25 -
[GitHub] 깃허브 pull 에러 해결하기 : files would be overwritten by merge
e files would be overwritten by merge:Please move or remove them before you merge. Aborting 어떤 특정 파일들이 문제가 된다고 뜬다.해당 파일들을 지우거나 제외하여 push 필요 git add -A 입력하기현재 작업중인 디렉토리 및 하위 디렉토리에 있는 모든 변경 사항들을 스테이징 영역에 추가해준다기존 파일의 변경 사항, 삭제된 파일 반영, 새로운 파일 추가 및 모든 변경 사항을 반영해준다 git add . 와의 차이점은?git add . 는 삭제된 파일은 포함하지 않는다!-A는 삭제된 파일까지 포함하여 반영해줌! git stash 입력하기git에서 현재 작업 중인 변경사항을 임시로 저장하는 데에 사용변경 사항을 커밋하지 않고도 나..
2024.11.25