Cute Running Puppy
본문 바로가기
728x90

전체 글96

Cors 에러가 뜨는 이유와 해결 Cors 에러가 뜨는 이유와 해결! https://inpa.tistory.com/entry/WEB-📚-CORS-💯-정리-해결-방법-👏 (참고자료) 에러가 뜨는 이유 사실 출처가 다른 두 어플리케이션이 자유로이 소통할 수 있는 환경은 꽤 위험한 환경이다. 만일 제약이 없다면, 해커가 CSRF(Cross-Site Request Forgery)나 XSS(Cross-Site Scripting) 등의 방법을 이용해서 우리가 만든 어플리케이션에서 해커가 심어놓은 코드가 실행하여 개인 정보를 가로챌 수 있다. 그렇기 때문에 동일 출처가 아니면 차단!!! 해결 방법 서버에서 Access-Control-Allow-Origin헤더에 허용할 출처를 기재해서 클라이언트에 응답하면 되는 것이었다. 즉, 백엔드 개발자가 고쳐야될.. 2023. 3. 20.
userDetails 유저 정보 받아오기 비회원일 때 인증된 사용자에 대한 정보를 제공하기 위해 userDetails를상속받아 구현 중에 비회원은 어떻게 해야할까? 하는 의문이 생겼다. 전체 게시물이 보이는 화면에 좋아요 기능을 추가했는데 비회원과 회원 모두 볼 수 있는 화면인 것! 자신이 한 좋아요가 보이게 하기 위해 user정보를 userDetails를 상속 받은 UserDetailsImpl 클래스를 사용하여 가져왔는데 user가 null일 때 오류가 나는 것이다 ㅜㅜ @GetMapping("/post/{postId}") public ResponseEntity getPost( @PathVariable Long postId, @AuthenticationPrincipal UserDetailsImpl userDetails) { return ResponseEn.. 2023. 3. 19.
AWS - EC2, RDS (AWS MySQL 세팅한 후 배포) AWS 대시보드 링크 https://ap-northeast-2.console.aws.amazon.com/console/home?region=ap-northeast-2 ap-northeast-2.console.aws.amazon.com RDS를 검색하고 클릭 데이터베이스 생성 데이터베이스 생성 클릭 데이터베이스 생성 방식 선택 > 표준 생성 엔진 옵션 > MySQL 템플릿 > 프리 티어 설정 > DB 인스턴스 식별자, 암호 (나중에 입력해야하므로 꼭 기억!) 연결 > 설정 가용영역은 아무거나 선택 추가 구성 > 초기 데이터베이스 이름 작성 후 데이터베이스 생성 클릭 RDS 포트 열어주기 데이터베이스 > 아까 만들어 둔 데이터베이스의 DB식별자 클릭 연결 & 보안 > VPC 보안 그룹 클릭 엔드포인트는 나중.. 2023. 3. 17.
커스텀 한 예외를 글로벌로 예외 처리하기 글로벌 예외 처리를 해보니 오류별로 묶어서가 아닌 내 마음 대로 status를 다르게 하고 싶음 넘겨줄 컬럼을 내가 지정하고 싶음 이를 해결하기 위해 예외를 내가 커스텀하여 글로벌로 예외처리를 해보았다. RestApiExceptionHandler 글로벌 예외 처리에서 커스텀 한 예외 처리를 어떻게 하는지 IllegalArgumentException으로 통째로 처리하면 HttpStatus를 한 상태만 보내주게 됨 이것을 Enum으로 상태, 메세지를 정의하고 가져오고 싶어서 Exception을 커스텀 하게 됨 @ExceptionHandler(value = { CustomException.class }) public ResponseEntity CustomhandleApiRequestException(Custo.. 2023. 3. 17.
728x90