@GetMapping 과 @PostMapping 은 @RequestMapping 어노테이션을 상속받은 것들 이다.
================================================================
1.
@RequestMapping 어노테이션의 장점 :
1)
모든 HTTP 요청 메서드에 대한 처리를 하나의 메서드에서 다룰 수 있다.
2)
다양한 요청 메서드를 하나의 메서드에서 처리하고, 동일한 동작을 여러 요청 메서드에 대해 공유할 때 유용 하다.
================================================================
@RequestMapping 어노테이션의 단점 :
1)
코드 가독성이 상대적으로 낮을 수 있고, 요청 메서드에 따른 명확한 분리가 어려울 수 있다.
================================================================
@GetMapping 어노테이션 이란 ?
1)
주로 정보를 검색 하거나 조회 하는 용도로 사용 된다.
URL 경로에 데이터를 포함시켜 요청을 보낼 수가 있다.
2)
경로 변수를 지원한다.
ex)
@GetMapping(/board/{board.bid})
3)
주로 데이터를 검색 하고 뷰를 반환 하는 용도로 사용 된다.
메서드는 뷰 이름 또는 뷰 객체를 반환 하고, 클라이언트에게 표시할 화면을 정의 한다.
================================================================
@GetMapping 어노테이션의 장점 :
1)
Get 요청에 대한 처리를 명확 하게 정의 할 수 있다.
2)
코드의 가독성이 높아지고, 요청 메서드에 대한 분리가 명확 하게 된다.
================================================================
@GetMapping 어노테이션의 단점 :
1)
Get 요청만 처리가 가능 하다는 단점과 다른 요청 메서드에 대한 처리를 별도로 정의 해야 한다.
3.
@PostMapping 어노테이션 이란 ?
1)
주로 데이터를 서버로 제출하거나 생성하는데 사용 된다.
>>
form 태그의 데이터를 제출하거나 리소스를 생성하는 용도로 많이 사용 된다.
2)
주로 Post 요청은 body 태그에 데이터를 담아서 서버로 전송 한다.
3)
Post 요청을 사용 할 때는 데이터를 서버로 보내므로,
보안사항을 고려하고,
데이터를 검증한 후 처리 해야 한다. (데이터 무결성의 원칙 및 보안 이슈)
================================================================
@PostMapping 어노테이션의 장점 :
1)
Post 요청에 대한 처리를 명확 하게 정의 할 수 있다.
2)
코드의 가독성이 높아지고, 요청 메서드에 대한 분리가 명확 하게 된다.
================================================================
@PostMapping 어노테이션의 단점 :
1)
Post 요청만 처리 가능하다는 단점과 다른 요청 메서드에 대한 처리를 별도로 정의 해야 한다.
[ 정리 ]
@RequestMapping 어노테이션은 모든 요청 메서드에 대한 처리를 하나의 메서드에서 처리 가능.
하지만 코드 가독성이 저하 될 수 있다는 단점 존재 함.
반면에,
@GetMapping 어노테이션과 @PostMapping 어노테이션은 각각 Get, Post 요청을 명확하게 처리 가능.
코드 가독성 향상 된다는 장점 존재 함.
'Spring 프레임워크 > 이론' 카테고리의 다른 글
[ 스프링 프레임워크 ] 핵심 기술 / 디자인 철학 (0) | 2023.10.18 |
---|---|
Java / Spring Framework / SpringBoot (1) | 2023.10.18 |
Spring 프레임워크 - 다국어 처리 기능 (3) | 2023.08.24 |
Spring 프레임워크 @SessionAttributes 어노테이션 (3) | 2023.08.18 |
Spring ExceptionResolver 을 사용한 예외 처리 (0) | 2023.08.18 |