1. Request Header
@RequestHeader("header의 값")
HTTP request의 Header를 위의 애노테이션으로 받을 수 있다.
@RequestMapping("/displayHeaderInfo.do")
public void displayHeaderInfo(@RequestHeader("Accept-Encoding") String encoding,
@RequestHeader("Keep-Alive") long keepAlive) {
============
}
이런 식으로 받을 수 있다.
Request Header의 값을 자바 값으로 치환해주는 애노테이션이다.
2. Request Body
HTTP Request의 Body부분을 자바의 객체로 변환시켜줌
@RequestBody
3. RequestParam
@RequestParam(required= ~ , name="param name") ~
Request URL의 쿼리 파라미터를 가지고 와 줌
변수의 이름과 쿼리 파라미터의 이름을 같게 맞춰줄 시에는 하단의 예제로
@GetMapping("/api/foos")
@ResponseBody
public String getFoos(@RequestParam String id) {
return "ID: " + id;
}
변수의 이름과 쿼리 파라미터의 이름이 다를 경우 하단의 예제로
@PostMapping("/api/foos")
@ResponseBody
public String addFoo(@RequestParam(name = "id") String fooId, @RequestParam String name) {
return "ID: " + fooId + " Name: " + name;
}
쿼리 파라미터가 필요할 수도, 안 필요할 수도 있을 때에는 required 옵션을 붙여준다.
@GetMapping("/api/foos")
@ResponseBody
public String getFoos(@RequestParam(required = false) String id) {
return "ID: " + id;
}
defaultValue를 이용해 query param이 없을 경우엔
디폴트 값 세팅 가능
예시
@GetMapping("/api/foos")
@ResponseBody
public String getFoos(@RequestParam(defaultValue = "test") String id) {
return "ID: " + id;
}
a.
http://localhost:8080/api/foos
----
ID: test
b.
http://localhost:8080/api/foos?id=abc
----
ID: abc
'Back-end > Spring' 카테고리의 다른 글
[Spring MVC] 이미지 업로드시 S3 Bucket 에 업로드하기 (2) - S3연결 및 비즈니스 로직짜기 (2) | 2021.06.27 |
---|---|
[Spring MVC] 이미지 업로드시 S3 Bucket 에 업로드하기 (1) - AWS 계정 설정, 버킷 생성, 권한 설정 (0) | 2021.06.27 |