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 처리 해준다.
GetMapping 어노테이션을 추가해 줌으로써
해당 메서드가 GET으로 작동하게 만들어 준다.
PostMapping 어노테이션을 이용해 메서드가 GET으로 작동하게 만들어 준다.
Post의 경우에는 메서드의 매개변수에 @RequestBody를 추가해 주어야 하는데
이유는 작동 후에 따로 리소르를 생성하기 떄문이다.
사용법 또한 GET API와 거의 유사하기 떄문에 참고해볼것!
PutMapping 어노테이션을 이용한다.
이부분에 @RequestBody와 @PathVariable을 동시에 사용 하는 코드가 있다.
-> 참고해 볼것
=================================================================
학습은 HELLO(GET) -> POST -> PUT 순으로 학습을 하였다