Post

매서드 매핑

@RequestMapping

Spring Framework에서 웹 애플리케이션의 컨트롤러 클래스나 메서드에 부여되는 어노테이션 중 하나로,

HTTP 요청과 특정 컨트롤러 메서드를 매핑(연결)하는 역할을 함

이 어노테이션을 사용하여 클라이언트의 HTTP 요청을 특정 메서드로 라우팅하고

해당 메서드를 실행하도록 설정할 수 있음

@RequestMapping

다양한 속성을 사용하여 요청 메서드, 경로, 요청 헤더, 요청 파라미터 등을 기반으로

메서드와의 매핑을 정의할 수 있음

value 또는 path: 요청을 처리할 URL 경로를 지정합니다. 여러 경로를 지정하려면 배열 형태로 지정할 수 있습니다.

method: HTTP 요청 메서드를 지정합니다. 주로 GET, POST, PUT, DELETE와 같은 메서드를 사용합니다. 예를 들어, @RequestMapping(value = "/resource", method = RequestMethod.GET)와 같이 사용할 수 있습니다.

headers: 특정 HTTP 요청 헤더 조건을 만족하는 경우에만 메서드를 실행합니다.

params: 특정 요청 파라미터 조건을 만족하는 경우에만 메서드를 실행합니다.

consumes: 클라이언트가 전송한 컨텐츠 타입을 기반으로 메서드를 실행합니다. 예를 들어, JSON 데이터를 받는 경우 consumes = "application/json"으로 설정할 수 있습니다.

produces: 서버가 생성하는 응답 컨텐츠 타입을 지정합니다. 클라이언트에게 반환되는 데이터 형식을 제어할 수 있습니다.

1
2
@RequestMapping("/products")
public class ProductController

@GetMapping

HTTP GET 메서드에 대한 매핑을 지정합니다.

@RequestMapping(method = RequestMethod.GET)을 대신하여 사용할 수 있습니다.

주로 데이터를 검색하고 가져오는 데 사용됩니다.

1
2
3
4
5
6
7
 @GetMapping ("{complain-id}") 
    public ResponseEntity<ComplainResponseDto> getComplain(@PathVariable("complain-id") @Positive long complainId) {
        Complain response = complainService.findComplain(complainId);
        ComplainResponseDto complainResponse = mapper.complainToComplainResponseDto(response);
        return new ResponseEntity<>(complainResponse, HttpStatus.OK);
    }

@PostMapping

HTTP POST 메서드에 대한 매핑을 지정합니다.

@RequestMapping(method = RequestMethod.POST)을 대신하여 사용할 수 있습니다.

주로 데이터를 생성 또는 업데이트하는 데 사용됩니다.

1
2
3
4
5
6
  @PostMapping ("/new") 
    public ResponseEntity postComplain(@RequestBody @Valid ComplainPostDto complainPostDto) {

        Complain response = complainService.createComplain(complainPostDto);
        return new ResponseEntity<> (new SingleResponseDto<>(mapper.complainToComplainResponseDto(response)),HttpStatus.OK);
    }

@PatchMapping

HTTP PATCH 메서드에 대한 매핑을 지정합니다.

@RequestMapping(method = RequestMethod.PACTH)을 대신하여 사용할 수 있습니다.

주로 데이터를 부분적인 업데이트 하는데 사용됩니다.

1
2
3
4
5
6
7
8
9
10
11
12
 @PatchMapping("/{complain-id}")
    public ResponseEntity patchComplain(@PathVariable("complain-id") @Positive long complainId,
                                    @Valid @RequestBody ComplainPatchDto complainPatchDto){

        complainPatchDto.setComplainId(complainId);

        Complain complain = mapper.complainPatchDtoToComplain(complainPatchDto);

        Complain response = complainService.updateComplain(complain);

        return new ResponseEntity<>(mapper.complainToComplainResponseDto(response), HttpStatus.OK);
    }

@DeleteMapping

HTTP DELETE 메서드에 대한 매핑을 지정합니다.

@RequestMapping(method = RequestMethod.DELETE)을 대신하여 사용할 수 있습니다.

주로 데이터를 삭제하는 데 사용됩니다

1
2
3
4
5
6
7
  @DeleteMapping("/{complain-id}")//문의사항 삭제
    public ResponseEntity deleteComplain(@PathVariable("complain-id") @Positive long complainId){

        complainService.deleteComplain(complainId);

        return new ResponseEntity<>(HttpStatus.NO_CONTENT);
    }
This post is licensed under CC BY 4.0 by the author.