요청 매핑
2024. 8. 26. 15:08ㆍSpring 백엔드 핵심 기술/springMVC
MappingController
package hello.springmvc.basic.requestmapping;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class MappingController {
private Logger log = LoggerFactory.getLogger(getClass());
@RequestMapping("/hello-basic")
public String helloBasic(){
log.info("hellobasic");
return "ok";
}
}
- @RequestMapping("/hello-basic")
- '/hello-basic' URL 호출이 오면 이 메서드가 실행도도록 매핑한다
- 대부분의 속성을 '배열{ }'로 제공하므로 다중 설정이 가능하다 {"/hello-basic","/hello-go"}
HTTP Method
@RequestMapping 으로 HTTP메서드를 지정해주지 않으면 HTTP메서드와 무관하게 호출된다.
경로 변수(PathVariable) 사용
@GetMapping("/mapping/{userid}")
public String mappingPath(@PathVariable("userid")String data){
log.info("mappingPath userId={}",data);
return "ok";
}
최근 HTTP API는 다음과 같이 리소스 경로에 식별자를 넣는 스타일을 선호한다.
- /mapping/userA
- /users/1
- '@RequestMapping'은 URL경로를 템플릿화 할 수 있는데 '@PathVariable'을 사용하면 매칭 되는 부분을 편리하게 조회할 수 있다.
- '@PathVariable'의 이름과 파라미터 이름이 같으면 생략할 수 있다.
@GetMapping("/mapping/{userid}")
public String mappingPath(@PathVariable String userid){
log.info("mappingPath userId={}",userid);
return "ok";
}
특정 헤더 조건 매핑
@GetMapping(value = "/mapping-header",headers = "mode=debug")
public String mappingHeader(){
log.info("mappingHeader");;
return"ok";
}

미디어 타입 조건 매핑 - HTTP 요청 Content-Type, consume
@GetMapping(value = "/mapping-consume",consumes = "application/json")
public String mappingConsumes(){
log.info("mappingConsumes");
return "ok";
}

'Spring 백엔드 핵심 기술 > springMVC' 카테고리의 다른 글
| 로깅 간단히 알아보기 (0) | 2024.08.26 |
|---|