본문 바로가기

[RESTful방식 구현] #1 Rest API 시작하기

I'm 영서 2021. 2. 16.
반응형

***

GitHub 주소

https://github.com/dudtj051292/restful-web-service

 

dudtj051292/restful-web-service

Contribute to dudtj051292/restful-web-service development by creating an account on GitHub.

github.com

 

 

Spring boot 를 사용시

Eclipse 

start.spring.io/  에 접속하여 필요한 Dependency를 직접 선택하여 Export하여 사용

<start.spring.io에서 GroupID와 Artifact명 Name 등을 선택후에 Generate 하면 자동으로 다운받아진다 >

 

InteliJ

인텔리 제이 내에서 new Project를 통해 생성한다.

 

 

**물론 Spring Framework를 직접 구축할때는 pom.xml에 직접 필요한 사항을 입력하면 사용할 수 있다.

 

 

 

InteliJ 를 사용해서 진행했음

 

아무튼 Rest 방식으로 구현하기 위해선 @RestController를 통해 RestController로 등록해줘야 한다. 

 

@RestController Annotation을 사용해 REST Controller로 등록해줘야 한다.

 

기존 Controller와 다른점은 RestController는 결과값을 JSON으로 반환해주는점이 다른데, 이는 기존 Controller의 ResponseBody에서 JSON 타입으로 값을 반환해주는 것과 동일하다.

 

요렇게 GetMapping을 사용하면 user 객체를 JSON 형식으로 반환한다.

위와같이!

 

추가로 path에 "/***/{id}" 와 같은것은 PathVariable이라고 해서 @PathVariable Annotation을 추가하여 해당 값을 {}사이에 넣는 것을 말한다. (짱편함)

 

POST방식은 값이 추가되는 방식으로 

ResponseEntity는 본문정보, 헤더정보, 상태코드를 더 세밀하게 처리하기 수월하면서 HATEOAS, builder 패턴등을 활용하기 쉽다. 아무튼 이렇게 수행한 결과는 post로 수행하게 되면 방금 saved된 User의 id값으로 URI를 만들어서 포함하여 리턴한다!
이렇게 ok를 보내면 

 << 이렇게 OK가 나온다.

 

 

DeleteMapping와 PutMapping 역시 동일하게 진행된다!

 

내일은 Validation API와 다국어 처리를 위한 Internationlization 및 Response 데이터 형식 변환, 제어를 위한 Filtering으로 개별 사용자 조회와 전체 조회 등을 구현해볼 예정이다.

반응형

댓글