Dev/Spring Boot

스프링부트 입문

OK-가자 2022. 3. 2. 17:41
필자는 이미 Spring의 기본은 알기 때문에 처음하거나 모르는 부분에 대해서만 필기하는 관계로 이 포스트를 보고 그대로 따라하면 안됩니다.

IntelliJ로 Spring실행



😮 위 사진처럼 포트번호 변경 가능

😮 위 사진처럼 API를 프로젝트 별 Test 관리 가능

😎GET API

위의 표는 각 API요청들의 특성

😮 위 사진처럼 queryParam을 여러게 넣어서 사용 가능! 하지만 쿼리를 명시적으로 받고 싶으면 ?

😮 위와 같이 간단하게 표현 가능하다. 그럼 파라미터를 하나하나 다 설정 해줘야 할까? 아니다. 다음 방법을 보자.

DTO 클래스를 만들고

😮 파라미터에 그 객체를 사용해주면

된다. WOW

😎POST API

위의 표는 각 API요청들의 특성

👍꿀팁 : 위와 같이 뜨면 alt+enter 누르고 인텔리제이 추천 코드로 변경가능




😮이렇게 받아도 되지만,DTO를 사용하여 POST 받을수도 있다.


😡여기서 잠깐!! 자바에서는 카멜케이스(phoneNumber) 제이슨은 스네이크케이스(phone_number) 일수 있는데 어떻게 될까?


😡NULL이 뜬다. 그럼 어떻게 해줘야 할까?

😮그럼 위와같이 JsonProperty 어노테이션 달아주면 된다.

😎PUT API

갱신 업데이트

위의 표는 각 API요청들의 특성


먼저 클래스 2개 만들어주고 getter setter tostring 만들어주고 시작한다.

😡여기서 snakeCase사용할수있는 2번째 방법!! 위 사진과 같이 JsonNaming 어노테이션을 달아준다.

😮 PUT 했고 Reponse 해보자.

😮 위 사진과 같이 PutRequestDto를 return 해주면

😮 그대로 Request받아온걸 볼수있다. 그럼 알아서 Json으로 Response 해주는걸 알 수 있다.

😎Delete API

는 생략....

😎Response 내려주기

))

😮위는 Text로 (String)으로 응답

)))

😮위는 User 객체로 응답

👻위의 원리는 req가 obj mapper 거쳐서 obj 가 되고 method를 타고 obj를 던지면 다시 objmapper를 타고 json으로 response된다.

))

😮위 방법은 ResponseEntity를 이용한 방법이고 응답상태나 body에 넣어줄 객체 혹은 Header값 까지 설정가능하다.

)))

😮위 사진들 처럼 RestAPI를 안쓰고 Page를 요청할 경우도 있다. 이때 Json객체를 Response하고 싶으면 어떻게 할까?

)

😮위와 같이 할 수 있다. 하지만 사진을 보면 age 값이 0이다. 아무것도 입력안해서 0 인데 null로 뜨게 하고싶으면?

😮위와 같이 Integer 객채로 만들어주면 된다.

😮WOw, 그럼 null값은 빼고 싶으면?

😮이렇게 JsonInclude 넣어주면된다.