@GetMapping은 HTTP GET요청을 처리하기 위한 어노테이션이다. 특정 URL 경로와 메서드를 연결하여 클라이언트가 해당 URL로 GET 요청을 보낼 때, 지정된 메서드가 호출 된다. @Controller 혹은 @RestController 에서 사용이 가능하지만, 일반적으로 RESTful을 설계할 때 @RestController와 함께 사용한다. @Controller와 사용할 때는 @ResponseBody를 추가해야 JSON형식으로 응답을 반환할 수 있다.
@GetMapping사용하기
1. DTO 클래스를 정의한다.
물품 정보를 전달하기 위한 데이터 전송 객체인 ProductDTO를 Record 클래스로 작성한다.
package com.example.project.dto;
public record ProductDTO(String productID, String name) {
}
2. Controller 클래스를 생성하여 DTO를 활용한다.
Controller 클래스에서 @RestController와 @GetMapping을 사용하여 URL 경로가 "/get"이고, HTTP GET요청일 때 ProductID 객체를 전송하는 로직을 작성한다.
package com.example.project.controller;
import com.example.project.dto.ProductDTO;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class ExampleController {
//@RequestMapping(value="/get", method = RequestMethod.GET)을 이렇게 축약해서 작성이 가능하다.
@GetMapping("/get")
public ResponseEntity<ProductDTO> userfn(){
return new ResponseEntity<>(new ProductDTO("ask1db", "양파"), HttpStatus.OK);
}
}
@GetMapping 외에도 HTTP 요청 매핑 어노테이션으로 @GetMapping, @PostMapping, @PutMapping, @DeleteMapping, @PatchMapping 을 사용할 수 있다. 사용 방법은 위의 방법과 동일하게 @GetMapping 대신 해당하는 요청의 어노테이션을 작성하면 된다.
'Backend > Spring' 카테고리의 다른 글
Spring : HATEOAS에 대해서 (1) | 2024.11.09 |
---|---|
Spring : JSON 데이터 처리에 대해서 (0) | 2024.11.03 |
Spring: HTTP Body 요청 처리하기 (0) | 2024.11.03 |
Spring : 파라미터를 처리하는 방법 ( @PathVariable, @RequestParam, @RequestMapping ) (0) | 2024.10.27 |
Spring : Record 클래스 사용하기 (0) | 2024.10.27 |
Spring : Lombok(롬복)에 대해 알아보자 (0) | 2024.10.27 |
Spring : DTO(Data Transfer Object)에 대해서 (0) | 2024.10.27 |
Spring : @Controller 활용하여 다양한 컬렉션 데이터 반환하기 (0) | 2024.10.26 |