@RestController
컨트롤러로 구현하였다.
컨트롤로 종류에는
@Controller,@RestController 가 있다.
차이점은
@Controller는 view 처리하는 view페이지가 따로 필요하고
@RestController는 Json으로 처리하여 view페이지가 따로 필요하지 않다는 특징이있다.
먼저 MemberController 클래스 내부에서
MemberService 인터페이스를 구현하였다.
memberService의 구현체인 MemberServiceLogic이 존재한다.
MemberServiceLogic를 @Service로 등록하여 bean객체가 되므로 IOC컨테이너 관리 객체가 된다. MemberServiceLogic내부적으로 MemberMapstore 인터페이스, 구현체인 MemberMapstore가 존재하지만 여기서는 CRUD에 대한 방법을 설명하겠다.
CRUD 메서드를 정의하였다.
CREATE 를 구현하기에 앞써 Memeber Entity 객체 정보를 등록할것이다.
@POST 메서드를 사용한다.
POST메서드는 BODY태그 안에 JSON형식으로 등록한다.
@PostMapping("/member")
@RequestBody 어노테이션을 사용하여 client로 부터 body에 json형식으로 주입받는다.
(여기서는 client를 RestClient로 대체하여 테스트 한다)
Read 메서드는 3가지를 구현하였다.
@GetMappin("/member/{id}")
@PathVarible 어노테이션으로 {}사용자 입력값을 받는다.
1. ID조회
[Restclient 확인 - insomnia]
Update 메서드
@PutMapping("/member/{id})
Http put메서드 특성상 body태그에 수정할 정보를 입력받아야한다.
그리고 변경되는 key값을 입력받는다.
key값을 받아야하므로 @PathVarible
수정내역 @RequestBody
[Restclient 확인 - insomnia]
UPDATE
GET 확인
Delete 메서드
@DeleteMapping("/member")
key을 기준으로 삭제 하기 때문에 @PathVarible
[Restclient 확인 - insomnia]
삭제
Get 확인
그리고 url ("/member")를 공통적으로 사용한다.
이것을 간략히 하기 위해 class 위에 @RequestMapping("/member)
선언후 실행하면 url이 간소해 진다.
수정전
수정후