사실, @RequestMapping과 @GetMapping, @PostMapping 등은 큰 차이가 없습니다. @RequestMapping은 GET, POST 등 모든 HTTP 메소드에 대해 매핑을 처리할 수 있습니다.
그럼에도 불구하고 GET과 POST를 각각 나누어서 매핑을 처리하는 이유는 가독성과 명확성 때문입니다.
1. 보안상의 문제
일반적으로 로그인한 사용자 정보를 GET 방식으로 처리하면, URL에 사용자의 정보가 노출됩니다. 예를 들어, 로그인할 때 사용자의 ID와 비밀번호가 URL에 그대로 포함되면, 화면이 전환될 때 해당 정보가 공개되기 때문에 보안에 매우 취약합니다.
게임 사이트에 로그인했는데 URL에 내 아이디와 비밀번호가 그대로 드러난다고 생각해봅시다. 이는 매우 불편하고 위험합니다.
2. URL에 많은 데이터가 포함되는 문제
반면, POST 방식은 URL에 데이터를 포함시키지 않기 때문에 보안적으로 더 안전합니다. 특히 게시글 등록, 수정 등의 경우, 콘텐츠가 많을 수 있는데, 그 모든 데이터를 GET 방식으로 처리하면 URL이 너무 길어져 가독성이 떨어지고, 관리하기 어려워집니다.
따라서 우리는 GET과 POST 방식을 나누어 사용함으로써 보안과 가독성을 모두 개선할 수 있습니다.
3. 유지보수 문제
만약 @RequestMapping으로만 처리한다면, 나중에 유지보수할 때 어떤 방식(GET, POST) 으로 요청을 처리하는지 확인하기 어려울 수 있습니다. 물론 매핑된 경로를 보면 알 수 있지만, 코드에서 HTTP 메소드(GET, POST 등)를 명확하게 구분하는 것이 유지보수에 유리합니다.
'JAVA' 카테고리의 다른 글
| [JAVA] 객체지향 언어 JAVA (0) | 2025.04.16 |
|---|---|
| [JVM] JVM이 무엇일까? (0) | 2025.04.16 |
| [복습]어노테이션 @Controller 와 @RestController 의 차이 (0) | 2025.04.15 |
| 프레임워크란 무엇일까? (0) | 2025.03.28 |
| [JAVA] MVC 패턴과 JDBC 를 활용한 데이터베이스 연결 (1) | 2025.01.31 |