스프링 부트 시작하기

Lumi·2021년 7월 7일
0

Spring

목록 보기
4/17
post-thumbnail

공부한 코드 github 주소

https://github.com/HoJin-jjimgo/Spring

기본적으로 서버에서 값을 입력받고자 하면
@RestController
-> 컨트롤러 하위의 메서드에 @ResponseBody룰 붙이지 않아도 문자열과 JSON을 전송할수 있게 해줌

@RequestMapping(주소값)
-> URL을 컨트롤러의 메서드와 매핑할 떄 사용하는 어노테이션

을 class위에 선언을 해주고 시작을 한다.

일반적으로 모든곳에서 적용되는 내용

만약 정해진 값이 아니라 입력을 유동적으로 하고 싶다면
메서드의 매개변수에 @PathVariable를 추가해 준뒤 매개변수를 적어주면 된다.
이때 @GetMappint의 변수(?)와 메서드의 매개변수의 변수명은 같아야 한다.

@RequestParam
매개변수로 객체가 아닌 명시적인 값을 받을 떄 사용
: String name
: int age 등등

만약 메서드에 매개변수가 두개 있을 경우에는 선언한 @PathVariabele 에 ()를 추가해 지정해 주면 된다.

쿼리는 처음 시작을 ?로 시작을 한다.
-> http://localhost:8080/api/get/url명?

매개변수를 Map, 변수, 객체 등 3가지 경우로 지정해 줄수가 있는데 주로 객체를 많이 사용한다
-> 새로운 class를 생성후 새로운 class에 변수를 만들어놓고 만들어 놓은 변수를 구현하는 방법

코드에 3가지 방법에 대한 내용을 적어놓았으니 참고할것(hello)

@JsonProperty
-> 문자열을 입력받는 방법에는 2가지가 있는데
1. 스네이크
2. 스네이크 외
가 있다.
스네이크 경우는 phone_number 같은 모양을 스네이크 라고 하며
그외는 phoneNumber 등이 있다.

이 두가지 경우는 서로 조화가 되지 않기 떄문에 JsonProperty어노테이션을 이용해 준다.
@JsonProperty("phone_number")
prievat String phoneNumber;

--> 이러한 방법으로 입력이 스네이크로 들어온다고 해도 인식할수 있게 설정해 줄수가 있다.

@JsonNaming
JsonProperty가 특정 변수에 대한 것을 처리해 주었다면
이 어노테이션은 지정한 CLASS에 대한 모든것을 처리해 준다.

@JsonNaming(value = PropertyNamingStrategy.SnakeCaseStrategy.class)
-> 이 클래스에서의 모든 메서드들을 JsonProperty 처리 해준다.

GET API

GetMapping 어노테이션을 추가해 줌으로써
해당 메서드가 GET으로 작동하게 만들어 준다.

POST API

PostMapping 어노테이션을 이용해 메서드가 GET으로 작동하게 만들어 준다.

Post의 경우에는 메서드의 매개변수에 @RequestBody를 추가해 주어야 하는데
이유는 작동 후에 따로 리소르를 생성하기 떄문이다.

사용법 또한 GET API와 거의 유사하기 떄문에 참고해볼것!

PUT API

PutMapping 어노테이션을 이용한다.

이부분에 @RequestBody와 @PathVariable을 동시에 사용 하는 코드가 있다.
-> 참고해 볼것

=================================================================
학습은 HELLO(GET) -> POST -> PUT 순으로 학습을 하였다

profile
[기술 블로그가 아닌 하루하루 기록용 블로그]

0개의 댓글