API 개발하고 테스트하기
GET API
HTTP Method : GET
HTTP Path : /portion
쿼리(key와 value) color=red&count=2
API의 반환 결과
덧셈 결과가 반환되는 API
API를 개발하기 전에 해야 할 것
- 명세(API spec) 설계
API를 개발하고자 하는 Class에는 @RestController 어노테이션을 달아야 한다.
@RestController 어노테이션 : 해당 클래스를 API의 진입 지점(Controller)으로 만들어주는 것
@GetMapping 어노테이션 : GET method
@RequestParam 어노테이션 : 쿼리를 통해 넘어온 data를 내가 만든 mapping 함수와 연결해줄 때 달아주어야 함
사용자 정의 data class
강의 요약
우리가 만들었던 http mapping 함수가 return 되면 spring boot는 자동으로 http 응답을 생성 후 요청을 보낸 쪽으로 보내준다.
POST API
POST에서는 Body로 data를 받는다.
클라에서 받는 RequestBody DTO엔 @RequestBody 어노테이션을 달아줘야 받아온 json을 우리가 만든 data class로 직렬화가 가능하다.
유저 생성 API 개발
RequestBody로 받아온 data로 User 객체 생성 후 list에 넣어서 관리
non-nullable type에 대한 null 처리
Q. property 전체가 getter를 가지고 있어야 하는 것인지?
Q. property를 private으로 잠궈놓고 getter로 가져와서 쓰는데 보안 등의 이유로 안 쓸지언정 일단 public으로 열어두면 외부에서 참조는 되겠지?