
| 항목 | @RequestMapping | @PostMapping |
|---|---|---|
| 사용 가능 HTTP 메서드 | 모든 HTTP 메서드 (GET, POST, PUT 등) | POST 만 가능 |
| 설정 방식 | method 속성으로 지정 | 간결하게 POST 지정 |
| 주 용도 | 다목적 매핑 (GET/POST/PUT 등 복수 매핑에 유리) | POST 요청 전용 처리 |
| 어노테이션 사용 방식 | HTTP 메서드 지정 | 어떤 요청 처리? |
|---|---|---|
@RequestMapping(value="/gardeningOne") | 기본값: 모든 메서드 (GET, POST 등) | 모든 HTTP 요청 (GET/POST 등 모두 처리됨) |
@RequestMapping(value="/gardeningOne", method=RequestMethod.POST) | 명시적으로 POST만 지정 | POST 요청만 처리 |
@GetMapping("/file/{wsFileName}")
public String getFile(@PathVariable("wsFileName") String wsFileName) {
return "요청한 파일 이름: " + wsFileName;
}
ex) 1. 클라이언트 요청 json
{
"name": "홍길동",
"age": 30
}
ex) 2. 서버측 처리
@PostMapping("/save")
public String saveData(@RequestBody Map<String, Object> param) {
String name = (String) param.get("name");
Integer age = (Integer) param.get("age");
return "이름: " + name + ", 나이: " + age;
}
| 방법 | 설명 |
|---|---|
@RequestParam | 쿼리스트링이나 폼 전송에서 사용 (ex. ?name=홍길동) |
@RequestBody | JSON 등 요청 body에 직접 담긴 데이터 처리 (ex. { "name": "홍길동" }) |