๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
TIL

01/22(์›”) ๋‚ด์ผ๋ฐฐ์›€์บ ํ”„ Java 21์ผ์ฐจ TIL - Path Variable, Request Param

by ๊ฐ์ž๊ฐœ๋ฐœ๊พผ 2024. 1. 22.

 

๐Ÿ“–  ์˜ค๋Š˜์˜ ํ•™์Šต ํ‚ค์›Œ๋“œ

  • Path Variable
  • Request Param

 

๐Ÿฅ”  Path Variable

๐ŸŒ GET http://localhost:8080/hello/request/star/Potato/age/98

 

  • ์„œ๋ฒ„์— ๋ณด๋‚ด๋ ค๋Š” ๋ฐ์ดํ„ฐ๋ฅผ URL ๊ฒฝ๋กœ์— ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

/star/potato/age/98

'potato'์™€ '98' ๋ฐ์ดํ„ฐ๋ฅผ ์„œ๋ฒ„์— ๋ณด๋‚ด๊ธฐ ์œ„ํ•ด URL ๊ฒฝ๋กœ์— ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.

// [Request sample]
// GET http://localhost:8080/hello/request/star/potato/age/98
@GetMapping("/star/{name}/age/{age}")
@ResponseBody
public String helloRequestPath(@PathVariable String name, @PathVariable int age)
{
    return String.format("Hello, @PathVariable.<br> name = %s, age = %d", name, age);
}

 

  • ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›๊ธฐ ์œ„ํ•ด์„œ๋Š” /star/{name}/age/{age} ์ด์ฒ˜๋Ÿผ URL ๊ฒฝ๋กœ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›๊ณ ์ž ํ•˜๋Š” ์œ„์น˜์˜ ๊ฒฝ๋กœ์— {data} ์ค‘๊ด„ํ˜ธ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
  • (@PathVariable String name, @PathVariable int age)
    • ๊ทธ๋ฆฌ๊ณ  ํ•ด๋‹น ์š”์ฒญ ๋ฉ”์„œ๋“œ ํŒŒ๋ผ๋ฏธํ„ฐ์— @PathVariable ์• ๋„ˆํ…Œ์ด์…˜๊ณผ ํ•จ๊ป˜ {name} ์ค‘๊ด„ํ˜ธ์— ์„ ์–ธํ•œ ๋ณ€์ˆ˜๋ช…๊ณผ ๋ณ€์ˆ˜ํƒ€์ž…์„ ์„ ์–ธํ•˜๋ฉด ํ•ด๋‹น ๊ฒฝ๋กœ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›์•„์˜ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

๐Ÿฅ”  Request Param

๐ŸŒ GET http://localhost:8080/hello/request/form/param?name=Potato&age=98

 

  • ์„œ๋ฒ„์— ๋ณด๋‚ด๋ ค๋Š” ๋ฐ์ดํ„ฐ๋ฅผ URL ๊ฒฝ๋กœ ๋งˆ์ง€๋ง‰์— ? ์™€ & ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ?name=Potato&age=98
    • ‘Potato’์™€ ‘98’ ๋ฐ์ดํ„ฐ๋ฅผ ์„œ๋ฒ„์— ๋ณด๋‚ด๊ธฐ ์œ„ํ•ด URL ๊ฒฝ๋กœ ๋งˆ์ง€๋ง‰์— ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.

 

// [Request sample]
// GET http://localhost:8080/hello/request/form/param?name=Robbie&age=95
@GetMapping("/form/param")
@ResponseBody
public String helloGetRequestParam(@RequestParam String name, @RequestParam int age) {
    return String.format("Hello, @RequestParam.<br> name = %s, age = %d", name, age);
}

 

  • ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›๊ธฐ ์œ„ํ•ด์„œ๋Š” ?name=Potato&age=98 ์—์„œ key ๋ถ€๋ถ„์— ์„ ์–ธํ•œ name๊ณผ age๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ value์— ์„ ์–ธ๋œ Potato, 98๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›์•„์˜ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • (@RequestParam String name, @RequestParam int age)
    • ํ•ด๋‹น ์š”์ฒญ ๋ฉ”์„œ๋“œ ํŒŒ๋ผ๋ฏธํ„ฐ์— @RequestParam ์• ๋„ˆํ…Œ์ด์…˜๊ณผ ํ•จ๊ป˜ key ๋ถ€๋ถ„์— ์„ ์–ธํ•œ ๋ณ€์ˆ˜๋ช…๊ณผ ๋ณ€์ˆ˜ํƒ€์ž…์„ ์„ ์–ธํ•˜๋ฉด ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›์•„์˜ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

 

 

 

 

๐Ÿ“š  ์˜ค๋Š˜์˜ ํšŒ๊ณ 

์–ด๋ ต๋‹ค ์Šคํ”„๋ง