프레임워크/Spring 25

[Spring] CrudRepository findById가 안될 때

현상 CrudRepository의 메서드를 사용할 때 데이터를 불러오지 못하는 상황이 발생했습니다. 원인을 찾기 위해 확인해본 내용은 아래와 같습니다. DB에 데이터가 제대로 들어갔는지? - Mysql Workbench를 통해 table 데이터 확인 DAO의 String과 DB table의 varchar가 호환이 되는지? - 호환 가능 findById의 arg가 정상인지? - 코드와 같은 SQL 사용시 데이터 조회 가능 해결 Hibernate 로그를 살펴보니, SQL문의 table 이름에 문제가 있다는 것을 확인했습니다. DB의 table 이름이 TistoryInfo인데, 로그에 따르면 tistory_info라는 table에서 데이터를 찾고 있었습니다. 이러한 문제는 아래 글에서 Camel 방식이 und..

[Spring] IntelliJ에서 import에 빨간 불일 때

현상 오랜만에 open한 프로젝트에서 import를 실패한 오류가 발생했습니다. 제 기억에는 문제의 원인이 프로젝트 디렉토리를 드래그&드랍으로 옮겼을 때 path가 꼬인 것으로 추정했었습니다. 전에도 같은 문제가 있어서 해결했었는데... 기록해놓지 않아서 다시 찾아보게 되었습니다. 해결 아래 글에서 다양한 방안들을 볼 수 있었습니다. https://intellij-support.jetbrains.com/hc/en-us/community/posts/360003437020-Intellij-IDEA-cannot-resolve-any-import-statement .idea를 지우는 방법 등으로 해결되지 않았지만, invalidate cache로 해결할 수 있었습니다. 예방 아직 직접 해보진 않았지만, 디렉토리..

HTTP Header는 case-sensitive인가

1. (동기) HTTP header를 가져오지 못하는 상황 Spring으로 REST API Controller를 구현하던 중, HTTP 헤더를 읽어오지 못하는 상황이 발생하였습니다. HTTP request는 Postman으로 전송하였고, 읽고자하는 HTTP header는 "Content-Type"이었습니다. Postman의 header 확인 Controller 확인 Response 확인 2. (문제접근) HTTP header가 정상적으로 서버에 실려왔는가? 먼저 HTTP header가 정상적으로 서버에 도착했는지 확인이 필요했습니다. 이를 위해 서버 controller에서 수신한 HTTP header의 모든 내용을 출력해보았습니다. Controller에서 출력 Controller에서 출력 확인 3. (문..

Spring Rest API 튜토리얼

아래 사이트를 참조함 https://www.leafcats.com/173 같은 패키지에 RestTestController 클래스 만들어줌 아래 코드 삽입 @RestController public class RestTestController { @RequestMapping("/restTest") public String restTest(@RequestParam String str){ return str + " : test 완료"; } } Spring REST API 생성, 호출 REST는 Representational State Transfer의 약자이다. 다른 웹 시스템에서 제공하는 기능을 사용하고자 할 때 사용자는 API의 URL만 알면 되기 때문에 SOAP보다 사용이 간편하다. 구글, 네이버 등 많은..

Spring Hello world 출력

구성 Intellij Ultimate, Gradle, openjdk 11 Openjdk11 설치 >> choco install openjdk11 다음은 아래 개발환경세팅 블로그 참조함 (다만 openjdk 11이라는 점만 차이남 https://jetalog.net/92 프로젝트 생성시 Spring Initializr로 생성하기 Group은 보통 도메인 역순 jar는 spring boot 내장, War는 원하는 WAS에 배포할 때 사용 Dependency Developer Tools > Spring Boot DevTools Developer Tools > Lombok: Annotation Web > Spring Web: Spring Framework Template Engines > Thymeleaf: S..