query string, path variable

suyeon·2022년 5월 22일
0

1. query parameter

/users?id=ek12g5790
  • 엔드포인트주소/엔드포인트주소?파라미터=값&파라미터=값
  • 변수에 값을 담에 백엔드에 전달하는 방식
  • 전달하고자 하는 parameter가 여러개인 경우 &를 붙여 연결할 수 있음

2. path varaible

/users/ek12g5790
@RestController
public class MemberController {
// 기본
@GetMapping("/member/{name}")
public String findByName(@PathVariable("name") String name ) {
return "Name: " + name;
}
// 여러 개
@GetMapping("/member/{id}/{name}")
public String findByNameAndId(@PathVariable("id") String id, @PathVariable("name") String name) {
return "ID: " + id + ", name: " + name;
}
}
  • 경로를 지정하여 요청
  • path를 변수로 사용할 수 있음

When should I use query parameter or path variable?

  • "If you want to identify a resource, you should use Path Variable. But if you want to sort or filter items, then you should use query parameter."
  • 존재하지 않는 자원이라면, path variable은 존재하는 페이지가 없기 때문에 404 에러를 발생시킴. 반면, query parameter은 서버로 데이터가 넘어가고 해당하는 데이터가 없을 경우의 에러 핸들링이 필요하다.

0개의 댓글