WIL (23.02.20~02.25)
[6주차] 주특기 심화 + 미니 프로젝트
월~목요일은 Spring 심화 공부, 금~토는 미니 프로젝트 진행을 했다.(프로젝트 다음주 목요일까지)
- 주특기 심화
- 게시판 만들기 추가기능 구현
- 리팩토링
- security filter 내 예외처리 적용
- exception log 처리 - @Slf4j
- 공통 응답 처리
- 생성자 대신 static method 사용하여 객체 생성
- 미니 프로젝트
- 주제 설정, 와이어프레임 작성, ERD 설계, API 명세서 작성
- 서버 API 기능 구현
CORS
CORS란?
- Cross-Origin Resource Sharing
- 웹 브라우저에서 실행되는 스크립트가 다른 출처의 리소스를 요청할 때 발생하는 보안 문제를 해결하기 위한 매커니즘이다.
- 프론트엔드와 백엔드가 각각 다른 서버에서 실행되고, 프론트엔드에서 백엔드 API 서버로 요청을 보내는 경우에, 출처가 다르기 때문에 Same-Origin Policy에 따라 브라우저에서 보안 상 이유로 요청을 차단한다.
- 이를 해결하기 위해 서버 측에서 특정 헤더를 추가하여 브라우저에게 요청을 허용해야 한다.
CORS 해결방법
- 백엔드 API 서버에서 CORS를 지원하도록 구성해야 한다.
- 서버에서 CORS 활성화, 허용할 출처와 허용할 HTTP 메서드, 헤더 등을 설정해야 한다.
- Spring Security는
CorsFilter
클래스를 제공하여 CORS 필터를 쉽게 추가할 수 있도록 지원한다.
Access-Control-Allow-Origin
: 요청 허용 출처 지정
Access-Control-Allow-Methods
: 허용하는 HTTP 메서드 지정
Access-Control-Allow_headers
: 허용하는 요청 헤더 지정
Access-Control-Expose-Headers
: 브라우저가 접근할 수 있는 응답 헤더 지정
Access-Control-Allow-Credentials
: 요청에 쿠키 포함할 수 있는지 여부 지정
이번주 TIL 모음
[Spring Security] Filter 예외처리는 어떻게 할까?
[JPA] 회원탈퇴 기능 구현으로 알아보는 연관관계 매핑
[JPA] 좋아요 기능 구현과 연관관계 편의 메서드 적용
[Spring] API 요청 성공, 예외처리에서 공통으로 사용하는 ResponseDto 구현