가장 간단하고 널리 활용되는 User라는 객체를 등록, 조회, 삭제 등의 기능으로 관리하는 로직을 만들어보겠다.
아래는 우선적으로 필요한 User 객체이다. @Data, @AllArgsConstructor 어노테이션이 포함되어 있다. 자동으로 id, name 등의 값에 대해서 set, get을 사용할 수 있고 constructor도 정의된다.
...
그리고 UserDaoService를 만든다.
UserDaoService는 DAO와 Serivce를 하나의 클래스로 만들었다. 소스코드는 매우 간단하다. 저장할 User객체들은 static으로 선언하고, 3개의 객체를 만들었다.
findAll, save, findOne 까지 세 개의 간단한 함수를 만든다.
*Static
Static(고정)으로 선언된 변수나 함수는 정적 필드, 정적 메소드라 하며 객체에 소속된 값이 아닌 클래스 자체에 고정된 값. 클래스가 로딩 되면 메모리에 할당 되어 바로 사용할 수 있다.
다음으로 UserController를 작성한다. @RestController 어노테이션은 동일하고, UserDaoService를 의존성 주입 한다. 이는 @autowired 로 할 수 있지만, 우선은 constructor를 만듦으로서 처리했다.
우선은 1개의 User를 반환하는 함수와 모든 Users를 반환하는 함수 2개를 작성했다. 간단한 소스이고, 테스트 하면 아래와 같은 결과를 얻을 수 있다.
없는 id(4)를 입력하면 아무런 결과도 나오지 않는다.
다음으로는 @PostMapping 및 @RequestBody를 사용하여 createUser함수를 만들어보겠다.
Post방식이며, save함수로 새로운 User객체를 DB에 저장하게 된다. Post 호출 시 @RequestBody 어노테이션을 통해 form 형태의 User객체가 넘어가게 된다. 이는 front-end 에서 만든 form으로 전달이 가능하나, 지금은 Postman을 통해 간단히 테스트 해볼 수 있다.
위와 같이 Post 방식으로 테스트를 해보면 정상 status 200을 리턴받는다. 그리고 다시 전체 조회를 하면, 아래와 같이 4개의 User 값을 확인할 수 있다. (물론 서버 재기동 시 네번째 데이터는 삭제된다.)
끝 :)
'IT' 카테고리의 다른 글
Springboot #8 MessageSource 활용한 다국어 지원 (0) | 2022.04.03 |
---|---|
Springboot #7 Exception handling 예외처리 (0) | 2022.04.03 |
Springboot #5 Spring 동작 원리, Dispatcher Servlet (0) | 2022.03.27 |
SpringBoot #4 간단한 Bean 작성 (0) | 2022.03.27 |
Springboot #3 간단한 컨트롤러 작성, Path Variable (0) | 2022.03.27 |