spring
-
Spring Boot: Object MapperSpring Boot 🍃 2023. 11. 29. 06:22
ObjectMapper의 기능 Text 형태의 JSON String을 Object 형태로 바꿔준다. 이때, Object에는 Default 생성자가 정의되어 있어야 한다. Object를 Text 형태의 JSON String으로 바꿔준다. 이때, Object에는 기본형 getter() 메소드가 정의되어 있어야 한다. 만약, 사용자 정의 메서드 중에 이름이 get으로 시작하는 것이 있다면 오류 발생! Controller에서 사용시 Spring이 알아서 해주는 경우가 많지만, 이를 이용하지 않고 직접 ObjectMapper를 클래스로 호출해서 사용하는 방법도 있다. 이 방법에 대한 간단한 예제는 아래와 같다. Object를 Text로 var om = new ObjectMapper(); try { var user..
-
Spring Boot: JSON 클래스 만들때 알아두면 좋을 설정Spring Boot 🍃 2023. 11. 29. 06:22
1. 해당 클래스의 모든 변수에 대해 네이밍 방식 변경 @JsonNaming(value = PropertyNamingStrategies.네이밍규칙.class) @JsonNaming(value = 여기 ) 외우면 당연히 더 좋겠지만 , 여기 라고 적은 부분에 커서를 두고 Ctrl + Space 누르면 제공되는 클래스 확인이 가능하다. 이렇게 확인하면 SnakeCase로 변경하는 것만 확인이 되는데 (나만 그럴지도..!!!) 더 많은 규칙을 사용하려면 PropertyNamingStrategies. + Ctrl + Space 입력 해서 보면 된다. PropertyNamingStrategies 클래스에서 다양한 형태의 네이밍 변환 클래스를 제공한다. PropertyNamingStrategies에서 제공되는 다양..
-
Spring Boot: Response 응답에 대해 알아두면 좋을 2가지Spring Boot 🍃 2023. 11. 29. 06:21
1. JSON과 HTTP 응답코드 함께 내려주는 방법 import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.PutMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @RestController @RequestMapping..
-
Spring Boot: POST , PUT, PATCH Method 요청 받기Spring Boot 🍃 2023. 11. 29. 06:21
POST , PUT , PATCH 요청은 HTTP 메세지의 Body 부분에 붙어서 날라오기 때문에, RequestBody 어노테이션을 사용하며, 이것들은 선언 메서드 이름만 다를뿐 사용 형식은 같다. + Request / Response 헷갈릴때 Request는 클라이언트에서 서버로 값을 보내달라고 요청하는 것이기 때문에 Request로써 존재하는 것. Response는 서버가 클라이언트의 요청에 대한 응답을 보내는 것이기 때문에 Response로써 존재한다. + JSON과 JAVA DTO 변수명 규칙이 다를 때 대응 방법 마지막 예제 참고! (사용 코드만 적어둠) class 위에 @JsonNaming 어노테이션을 사용하면 Object Mapper라는 모듈이 동작할 때 해당 클래스 변수명을 JsonNam..
-
Spring Boot: @Controller , @RestControllerSpring Boot 🍃 2023. 11. 29. 06:21
@Controller 일반적인 Spring MVC 컨트롤러로, 주로 웹 페이지를 제공하는 데 사용된다. 뷰 이름을 반환하며, ViewResolver에 의해 처리되어 실제 뷰로 변환되어진다. 🐵. @Controller 에서 HTML 페이지 , json 객체 내려주는 방법 @Controller 어노테이션이 붙은 컨트롤러 페이지에서는 html 뷰페이지만 내려보내고 json 응답은 @RestController에서 내리는게 맞지만 html과 json을 요구하는 특수한 상황(?)이 오게 된다면 사용할 수 있는 방법이다. @Controller public class PageController { // main.html 반환 @RequestMapping("/main") public String main() { retu..
-
Spring Boot: GET , DELETE Method 요청 받기Spring Boot 🍃 2023. 11. 29. 06:21
HTTP Method : GET , DELETE 클라이언트가 서버에서 값을 조회해올 때 사용되는 GET Metod 클라이언트가 서버에 값 삭제 요청을 할 때 사용되는 DELETE Metod Spring에서는 다양한 방법으로 Get Metod 요청을 받을 수 있다. DELETE도 같은 형식으로 사용! 1. 단순 문자열 출력 @RestController @RequestMapping("/api/get") public class GetApplication { @GetMapping("/hi") // localhost:8888/api/get/hi public String hi() { return "get hi"; } @GetMapping(path="/h2llo") // localhost:8888/api/get/h2..
-
IntelliJ 유용한 단축키 모음IDE/인텔리제이 IntelliJ 2023. 11. 28. 00:01
Shift + F10 Run에 걸려있는 파일을 실행 Ctrl + Shift + F10 현재 포커스된 클래스 파일의 실행 메서드를 실행 Ctrl + Shift + Enter 문장 끝에 ; 필요시 붙여준다. Ctrl + Shift + T 해당 클래스의 테스트 파일(껍데기만)을 생성해 준다! Ctrl + Alt + L 코드 라인 정렬 Ctrl + Alt + V 코드에 반환 타입이 있는 경우, 반환 자료형 변수 자동 생성 Ctrml + Alt + M 메서드 추출 Ctrl + ↑ 커서 그대로 두고 화면 위로 올림 (스크롤 내림) Ctrl + ↓ 커서 그대로 두고 화면 아래로 내림 (스크롤 올림) Shift + Enter 커서 아래서 빈 줄을 만들고 커서를 내려준다. Alt + Enter 없는 클래스 만들어줌 콘솔..
-
Spring Boot 3.0.6 시작하기Spring Boot 🍃 2023. 11. 28. 00:01
드디어 Spring ! 🙈 스프링 사이트에서 https://start.spring.io/ 파일을 다운받아 인텔리제이로 실행을 해보았다. 한번에 실행 되었으면 정말 좋았겠지만 오류를 몇가지 만나서 기록 ✏️ 1. 압축 해제로 실행 시 build 실패 spring initializr 에서 Java 17을 선택하고 다운받았고, 내 인텔리제이에는 jdk 18이 적용되어 있었는데 계속 빌드 실패가 났다. 17 이상이기만 하면 될 줄 알았는데 아주 큰 착각이었다 🥸 해결방법 : spring boot 문서를 발견해서 jdk 17 또는 jdk 19 적용하면 됨을 알아냄 ( 나는 19로 선택 ) 설정 변경 1 : 파일 - 설정 - 빌드, 실행, 배포 - Gradle - Gradle JVM = jdk19 적용 단축키 : ..