본문 바로가기
Spring

Rest API

by doriver 2024. 8. 22.

SpringBoot에서 Rest API

HTTP메시지  --  Controller  --  비지니스 로직  --  Repository  --  DB

 

HTTP메시지

http메소드, 요청url , 상태코드

헤더 값들

메시지body

Controller

@Controller > @RequestMapping > 메소드 매개변수 > 로직 > return값 

예외처리 커스텀 필요

http메시지와 직접적인 연관( 상태코드, 해더값들 핸들링 등등 )

@RequestMapping

요청url, http메소드

RequestMappingHandlerAdapter가 HandlerMethodArgumentResolver를 호출

ArgumentResolver가 컨트롤러가 필요로 하는 다양한 파라미터의 값을 생성한다. 

메소드 매개변수

http요청에서 전달한 데이터 파징( @RequestParam, @ModelAttribute, @RequestBody 등등 )

사용할 기능들 파징( ex HttpServletRequest , Model, BindingResult  등등 )

 

요청 데이터 파징에서 validation필요한 경우 있음

HandlerMethodArgumentResolver를 확장해서 컨트롤러로 넘어가는 파라미터를 직접 만들수도 있다.

return값

@Controller + String > view이름

ResponseBody에 직접 넣을수도

ResponseEntity > 응답의  Header 값이나 Status Code를 개발자가 세밀하게 제어

 

Repository

DB와의 connection

 

CRUD수행

 

트랜잭션등 DB에서의 작업들

DB