티스토리 뷰

728x90
반응형

아래는 Spring Boot 기반 RESTful 애플리케이션 개발 시 자주 사용되는 어노테이션들을 설명과 함께 정리한 표입니다.

@GetMapping HTTP GET 요청 전용 매핑 어노테이션으로, @RequestMapping(method = RequestMethod.GET)의 단축 표현입니다. 데이터 조회, 검색, 목록 반환 등 GET 방식의 요청을 처리할 때 사용합니다.
@PostMapping HTTP POST 요청 전용 매핑 어노테이션으로, @RequestMapping(method = RequestMethod.POST)의 단축 표현입니다. 새 리소스 생성, 폼 데이터 제출 등 POST 방식의 요청을 처리할 때 사용합니다.
@PutMapping HTTP PUT 요청 전용 매핑 어노테이션으로, @RequestMapping(method = RequestMethod.PUT)의 단축 표현입니다. 기존 리소스를 전체 업데이트할 때 사용합니다. (리소스의 모든 필드를 교체하는 경우)
@DeleteMapping HTTP DELETE 요청 전용 매핑 어노테이션으로, @RequestMapping(method = RequestMethod.DELETE)의 단축 표현입니다. 리소스 삭제 요청을 처리할 때 사용합니다.
@PatchMapping HTTP PATCH 요청 전용 매핑 어노테이션으로, @RequestMapping(method = RequestMethod.PATCH)의 단축 표현입니다. 리소스의 일부 필드만 업데이트할 때 사용합니다.

 

@RestController @Controller와 @ResponseBody가 결합된 어노테이션으로, 클래스 내의 모든 메서드에서 반환되는 값이 자동으로 JSON, XML 등으로 변환되어 클라이언트에 응답됩니다. REST API를 개발할 때 사용하며, 클라이언트와 데이터(주로 JSON)를 주고받는 경우에 적합합니다.
@Controller 전통적인 Spring MVC 컨트롤러를 정의하며, 뷰(View)를 반환하는 데 사용됩니다. 서버 사이드 렌더링을 통한 웹 애플리케이션 개발 시, JSP, Thymeleaf 등의 템플릿을 사용하여 뷰를 반환할 때 사용합니다.
@RequestMapping 클래스 또는 메서드 레벨에서 URL 경로, HTTP 메서드, 소비/생산 미디어 타입 등을 지정하여 요청과 핸들러를 매핑합니다. 여러 HTTP 메서드나 복합적인 조건의 요청 매핑이 필요할 때 사용하며, 보다 세밀한 설정이 필요한 경우 활용합니다.
@PathVariable URL 경로에 포함된 변수 값을 메서드 파라미터에 바인딩합니다. RESTful URL 경로에서 식별자(ID)나 동적인 값을 추출할 때 사용합니다. 예: /users/{id}에서 id 추출
@RequestParam URL 쿼리 파라미터나 폼 데이터의 값을 메서드 파라미터에 바인딩합니다. GET 요청 시 필터, 검색 조건 전달 등 URL의 쿼리 파라미터를 처리할 때 사용합니다.
@RequestBody HTTP 요청 본문(body)에 포함된 JSON, XML 등의 데이터를 자바 객체로 변환하여 메서드 파라미터에 바인딩합니다. 클라이언트가 보낸 JSON/XML 데이터를 자바 객체로 받아 처리할 때, POST, PUT, PATCH 요청 등에서 사용합니다.
@ResponseBody 메서드의 반환값을 HTTP 응답 본문(body)에 직접 매핑하여 클라이언트에 전달합니다. JSON, XML 등의 데이터를 직접 응답으로 전송할 때 사용되며, @RestController 사용 시 자동 적용됩니다.
@ResponseStatus 메서드나 예외 클래스에 HTTP 응답 상태 코드를 명시할 때 사용됩니다. 특정 상황(예: 생성 성공, 삭제 성공, 오류 발생 등)에서 원하는 HTTP 상태 코드를 명시적으로 반환하고자 할 때 사용합니다.
@ExceptionHandler 컨트롤러 내에서 발생하는 특정 예외를 처리하는 메서드를 지정하여, 예외 발생 시 맞춤형 응답을 반환할 수 있습니다. 컨트롤러 단위 혹은 전역 예외 처리에서, 사용자에게 보다 명확한 에러 메시지와 상태 코드를 전달할 때 사용합니다.

 

이 표는 RESTful API를 구현할 때 자주 사용되는 주요 어노테이션들을 중심으로 정리한 것으로, 상황에 따라 추가적인 어노테이션(예: @Valid, @ModelAttribute 등)을 사용할 수 있습니다. 추가적인 질문이나 다른 내용이 필요하시면 말씀해 주세요.

 

728x90
반응형