토마토의 개발일지
  • 홈
  • 태그
  • 방명록
  • 메뉴 닫기
  • 글작성
  • 방명록
  • 환경설정
    • Development (144)
      • Languege (39)
        • Java & Spring (27)
        • C# & ASP.NET (5)
        • JavaScript (2)
        • Kotlin (5)
      • DB (0)
        • Oracle (0)
      • Study (72)
        • 네트워크 (3)
        • 이펙티브 자바 (41)
        • 우아한 테크 코스 (7)
        • Next Step (3)
        • Certificate (5)
        • Side Proejct (6)
      • Error (18)
        • 개발환경 (10)
        • 트러블슈팅 (6)
      • Algorithm (12)
      • 개발환경 (1)
      • 회고 (2)
  • 홈
  • 태그
  • 방명록
Error/트러블슈팅

[Trouble Shooting - CORS] Spring Boot CORS 와일드카드(*) 설정방법

💥 개요 사이드 프로젝트 진행 시 항상 문제가 되던건, CORS였습니다. CORS란 CORS(Cross-Origin Resource Sharing)는 클라이언트(웹 브라우저)에 의해 제어되는 HTTP 기반 보안 메커니즘입니다. 이를 통해 서비스(API)는 클라이언트가 요청할 수 있는 오리진 이외에 요청할 수 없는 오리진도 표시할 수 있습니다. 한 오리진에서 로드한 웹사이트(HTML 문서 또는 JS 스크립트)가 다른 오리진의 리소스와 상호 작용할 수 없게하는 SOP(Same-origin policy)와 함께 설계되었습니다. CORS는 일부 크로스 오리진 요청을 명시적으로 허용하고 다른 요청은 거부하는데 사용됩니다. CORS는 기본적으로 웹 브라우저에서 구현되지만 API 클라이언트에서도 옵션으로 사용할 수 ..

2023. 7. 22. 20:35
Error/트러블슈팅

[Trouble Shooting - RequestBody와 생성자] 스프링부트 LocalDateTime JsonFormat 안됨

개발 중 있었던 일, 통합 API 테스트 코드 작성 중 특정 도메인의 생성 테스트 코드가 동작하지 않고 아래와 같이 오류가 발생했다. com.fasterxml.jackson.databind.exc.InvalidFormatException: Cannot deserialize value of type `java.time.LocalDateTime` from String "2023-05-19 16:51:32230519 16:51:32": Failed to deserialize java.time.LocalDateTime: (java.time.format.DateTimeParseException) Text '2023-05-19 16:51:32230519 16:51:32' could not be parsed at i..

2023. 5. 19. 18:39
Languege/Java & Spring

Junit5 상속관계에서 BeforeEach 순서

최근 TDD와 테스트 코드에 사랑에 빠져 사내 프로젝트에 테스트 커버리지를 높이고 있는데 Api 테스트를 할때 보통 로그인이 전제가 되어야 하는데, 도메인 별 테스트를 만들때마다 계속 반복되는 로그인을 하는 로직을 넣는 바보같은 행동을 하고 싶지 않아서 ApiTest를 만들어두고 이곳에 로그인 로직을 두고 Domain 별 테스트에서는 API만 테스트하려 하는데 이때 beforeEach의 순서를 정해야 하는 일이 발생했습니다. Junit5 상속관계에서 BeforeEach 순서는 어떻게 될까? 아래 코드에서 보면 ApiTest의 setUp이 먼저 실행되는걸 확인할 수 있습니다. public class DomainTest extends ApiTest { @BeforeEach void setUp1() { Sys..

2023. 5. 17. 15:24
Languege/Java & Spring

스프링부트 어노테이션이란? 커스텀 어노테이션 추가하는 방법

어노테이션이란? 어노테이션은 소스 코드에 메타데이터를 추가하기 위한 것으로, 스프링부트에서는 다양한 용도로 사용됩니다. 1.스프링 빈(Bean) 등록을 위한 어노테이션 - @Component, @Controller, @Service, @Repository 등 - 해당 어노테이션이 붙은 클래스는 스프링 컨테이너에서 빈으로 관리됩니다. 2.의존성 주입(Dependency Injection)을 위한 어노테이션 - @Autowired, @Resource 등 - 해당 어노테이션이 붙은 필드나 생성자 등에 의존성 주입이 자동으로 이루어집니다. 3.스프링 MVC에서 컨트롤러(Controller)를 위한 어노테이션 - @RestController, @RequestMapping, @GetMapping, @PostMapp..

2023. 4. 19. 22:40
Languege/Java & Spring

[Spring Framework OPEN API서비스 교육] 1.API KEY란?

[API KEY] 특징 - 인증(X) : 식별만 수행한다. - 목적 : 통계와 사용량 제한 - 공용 데이터 조회시에 주로 사용 사이트 단위로 접근 허용 - 사용자별 로그인을 하지 않아도 접근 가능한 페이지에 적용 가능 - 1일 사용량 제한하는 경우가 많음 서명 키 없이 API KEY와 사이트 URL을 이용해 접근 제한이 가능하다. 1.클라이언트 개발자는 Provider에 hostName 및 기타 정보를 이용해 API KEY를 요청한다. 2.Provider는 API KEY를 생성하고 hostName 및 기타 정보를 DB에 저장하고 , API KEY를 발급한다. 3.클라이언트 개발자는 해당 API KEY를 통해 데이터를 요청한다. 4.Provider는 API KEY & Origin을 Validate하고 성공..

2022. 10. 4. 15:41
Error/개발환경

스프링부트 no main manifest attribute in 에러

ec2에서 스프링부트 백엔드 서버를 올리고 파일을 java -jar로 실행 시켰는데 no main manifest attribute in 에러가 발생하였습니다. !? 이게 뭐지 했었는데 이유는 간단합니다. 두개의 파일 중 -SNAPSHOT.jar 파일을 실행시키면 문제가 발생하지 않습니다.

2022. 6. 27. 13:40
  • «
  • 1
  • »

공지사항

  • GitHub & WorkSpace

전체 카테고리

  • Development (144)
    • Languege (39)
      • Java & Spring (27)
      • C# & ASP.NET (5)
      • JavaScript (2)
      • Kotlin (5)
    • DB (0)
      • Oracle (0)
    • Study (72)
      • 네트워크 (3)
      • 이펙티브 자바 (41)
      • 우아한 테크 코스 (7)
      • Next Step (3)
      • Certificate (5)
      • Side Proejct (6)
    • Error (18)
      • 개발환경 (10)
      • 트러블슈팅 (6)
    • Algorithm (12)
    • 개발환경 (1)
    • 회고 (2)
애드센스 광고 영역
  • 최근 글
  • 최근 댓글

최근 글

최근댓글

태그

  • #우테코
  • #트러블슈팅
  • #AWS
  • #spring
  • #제네릭
  • #김영한 스프링
  • #자바
  • #TDD
  • #saa
  • #스프링
  • #spring boot
  • #개발자
  • #파이썬
  • #백엔드
  • #BOJ
  • #도메인 주도 개발
  • #이펙티브 자바
  • #kotlin
  • #effective java
  • #후기
  • #코틀린
  • #김영한
  • #백준
  • #스프링부트
  • #구글 클라우드
  • #클라우드
  • #Java
  • #객체지향
  • #이펙티브자바
  • #GCP
MORE

전체 방문자

오늘
어제
전체

블로그 인기글

Powered by Privatenote Copyright © 토마토의 개발일지 All rights reserved. TistoryWhaleSkin3.4

티스토리툴바