Server에 요청시에도 추가적인 Data 필요
ex) 인스타그램의 특정 게시물을 삭제하려면?
사용자의 정보 + 삭제하려는 게시물의 정보 + 요청 함께 전송!
Request 파라미터
: Client가 Server에 요청(Request)를 할 때 추가적으로 전송하는 데이터
2가지 유형
- Query String
- Path Parameter
Spring Frameworksms Request 파라미터를메소드의 파라미터에 저장
Query String
: URI와 파라미터의 영역을 구분하여 사용
key - 파라미터의 이름, value - 파라미터의 값
ex) https://www/google.com/search?q=codepresso&sourceid=chrome ,,
@RequestMapping(value = "/post")
public String getPost(@RequestParam(name = "category") String category,
@RequestParam(name = "id") Integer id){
return "You requested" + category + "-" + id + "post";
}
Path Parameter
: 메소드 파라미터에 @PathVariable 사용
@RequestMapping(value = "/user/{type}/id/{id}")
public String getUser(@PathVariable(name = "type") String type,
@PathVariable(name = "id") Integer id) {
return "You requested" + type + "-" + id + "user";
}
Query String vs Path Parameter
특정자원을 요청하는 경우 or 필수 데이터 > Path Param_ Client가 영향울 받기 때문에 비용이 높음
정렬이나 추가 필터링을 위한 데이터 or 선택적 데이터 > Query String_상대적으로 편하게 확장 가능
요약
- Server에 데이터를 요청할 때 추가적인 정보가 필요한 경우 있음
- 요청 시 추가적으로 전송하는 데이터가 Request 파라미터
- Query String과 Path Parameter가 사용됨
- Spring Framework는 2가지 유형 모두 지원: @RequestParam, @PathVariable
'백엔드' 카테고리의 다른 글
Response 데이터와 JSON 포맷 (0) | 2023.11.22 |
---|---|
HTTP API (0) | 2023.11.22 |
Spring Boot 컨트롤러와 REST API (0) | 2023.11.22 |
컨트롤러의 구현 문법 (0) | 2023.11.16 |
계층형 아키텍처 (0) | 2023.11.16 |