๐ @RequestParam
1. @RequestParam์ ์๋ตํ๋ ๊ฒฝ์ฐ
// public String main2 (@RequestParam(name="year", required=false) String year)
public String main2 (String year)
์์ ๋ ๋ฌธ์ฅ์ ๊ฐ์ ๋ฌธ์ฅ์ด๋ฉฐ, @RequestParam์ ์๋ต ๊ฐ๋ฅํ๋ค. required๋ ํ์ ์ฌ๋ถ ๋ํ๋ด๊ณ ์์ ๊ฐ์ ๊ฒฝ์ฐ์๋ ํ์์ ๋ ฅ์ด false์ด๋ฏ๋ก, year ๊ฐ์ ์ ๋ ฅํด์ฃผ์ง ์์๋ ๋๋ค.
์ฌ์ฉ์๊ฐ ์ฃผ์๋ฅผ ์ ๋ ฅํ ๋์ ์์๋ ๋ค์๊ณผ ๊ฐ๋ค.
// http://localhost/ch2/requestParam2 --->> year = null
// http://localhost/ch2/requestParam2?year -->> year = "" (๋น ๋ฌธ์์ด)
2. @RequestParam์ ์๋ตํ์ง ์๋ ๊ฒฝ์ฐ
// public String main3(@RequestParam(name="year", required=true) String year)
public String main3(@RequestParam String year)
๋ค์๊ณผ ๊ฐ์ด ์๋ตํ์ง ์๊ณ ์์ ์ ์ด์ฃผ์๋ค๋ฉด, year์ ๊ฐ์ ํ์์ ์ผ๋ก ์ ๋ ฅํด์ฃผ์ด์ผ ํ๋ค.
ํด๋ผ์ด์ธํธ๊ฐ ์ ๋ ฅํ์ง ์์ผ๋ฉด ๋ค์๊ณผ ๊ฐ์ด Error๊ฐ ๋ฐ์ํ๋ค.
// http://localhost/ch2/requestParam3 --->> year = null (400Error, required๊ฐ true์ด๋ฏ๋ก)
// http://localhost/ch2/requestParam3?year -->> year = "" (๋น ๋ฌธ์์ด)
๋ฐ๋ผ์ ํ์์ ์ผ๋ก ๊ฐ์ ์ ๋ ฅ๋ฐ์์ผ ํ๋ ๊ฒฝ์ฐ๋ ์๋ตํ์ง ์๋๋ค.
3. ๊ทธ ์ธ ์๋ฌ๊ฐ ๋ฐ์ํ๋ ๊ฒฝ์ฐ
@RequestMapping("/requestParam8")
public String main8(@RequestParam(required=false) int year) {
// http://localhost/ch2/requestParam8 ---->> 500 java.lang.IllegalStateException
// http://localhost/ch2/requestParam8?year ---->> 400 Bad Request
System.out.printf("[%s]year=[%s]%n", new Date(), year);
return "yoil";
}
ํ์์ ๋ ฅ์ด ์๋ ๋๋ ๊ณ ๋ คํด์ผ ํ ๋ถ๋ถ์ด ์๋ค.
๋ค์๊ณผ ๊ฐ์ ๊ฒฝ์ฐ๋ ํ์ ์ ๋ ฅ์ด ์๋์ง๋ง, year๋ฅผ int ๊ฐ์ผ๋ก ์ ๋ ฅ ๋ฐ๋ค ๋ณด๋ ์๋ฌด๊ฒ๋ ์ ๋ ฅํ์ง ์์ผ๋ฉด year = null์ด ๋๋ฉด์ int ๊ฐ์ผ๋ก ๋ณํํ ์ ์๊ธฐ ๋๋ฌธ์ ์๋ฒ ์๋ฌ์ธ 500 Error๊ฐ ๋ฐ์ํ๋ค. ๋ํ year๊น์ง๋ง ์ ๋ ฅํ๊ณ ์ซ์๋ฅผ ์ ๋ ฅํ์ง ์์ผ๋ฉด ์ด ๋ํ ๋น ๋ฌธ์์ด๋ก ์ธ์ํ๊ธฐ ๋๋ฌธ์ int ํ์ผ๋ก ๋ณํํ ์ ์๋ค. (400 Error)
๋ฐ๋ผ์, ํ์์ ๋ ฅ์ด ์๋ ๋์๋ ๋ค์๊ณผ ๊ฐ์ด ๊ธฐ๋ณธ๊ฐ์ ์ ๋ ฅํด ์ฒ๋ฆฌํ๋ค.
@RequestMapping("/requestParam11")
public String main11(@RequestParam(required=false, defaultValue="1") int year) {
// http://localhost/ch2/requestParam11 ---->> year=1
// http://localhost/ch2/requestParam11?year ---->> year=1
System.out.printf("[%s]year=[%s]%n", new Date(), year);
return "yoil";
'๐ต java' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
JAVA | enum (0) | 2023.06.13 |
---|---|
JAVA | List, ArrayList์ ์ฌ์ฉ (0) | 2023.06.06 |
JAVA | Database ์ ๊ทํ/๋น์ ๊ทํ (0) | 2023.06.02 |
JAVA | Database (0) | 2023.06.02 |
JAVA | Annotation๊ณผ ๊ทธ ์ข ๋ฅ (0) | 2023.05.24 |
๐ @RequestParam
1. @RequestParam์ ์๋ตํ๋ ๊ฒฝ์ฐ
// public String main2 (@RequestParam(name="year", required=false) String year)
public String main2 (String year)
์์ ๋ ๋ฌธ์ฅ์ ๊ฐ์ ๋ฌธ์ฅ์ด๋ฉฐ, @RequestParam์ ์๋ต ๊ฐ๋ฅํ๋ค. required๋ ํ์ ์ฌ๋ถ ๋ํ๋ด๊ณ ์์ ๊ฐ์ ๊ฒฝ์ฐ์๋ ํ์์ ๋ ฅ์ด false์ด๋ฏ๋ก, year ๊ฐ์ ์ ๋ ฅํด์ฃผ์ง ์์๋ ๋๋ค.
์ฌ์ฉ์๊ฐ ์ฃผ์๋ฅผ ์ ๋ ฅํ ๋์ ์์๋ ๋ค์๊ณผ ๊ฐ๋ค.
// http://localhost/ch2/requestParam2 --->> year = null
// http://localhost/ch2/requestParam2?year -->> year = "" (๋น ๋ฌธ์์ด)
2. @RequestParam์ ์๋ตํ์ง ์๋ ๊ฒฝ์ฐ
// public String main3(@RequestParam(name="year", required=true) String year)
public String main3(@RequestParam String year)
๋ค์๊ณผ ๊ฐ์ด ์๋ตํ์ง ์๊ณ ์์ ์ ์ด์ฃผ์๋ค๋ฉด, year์ ๊ฐ์ ํ์์ ์ผ๋ก ์ ๋ ฅํด์ฃผ์ด์ผ ํ๋ค.
ํด๋ผ์ด์ธํธ๊ฐ ์ ๋ ฅํ์ง ์์ผ๋ฉด ๋ค์๊ณผ ๊ฐ์ด Error๊ฐ ๋ฐ์ํ๋ค.
// http://localhost/ch2/requestParam3 --->> year = null (400Error, required๊ฐ true์ด๋ฏ๋ก)
// http://localhost/ch2/requestParam3?year -->> year = "" (๋น ๋ฌธ์์ด)
๋ฐ๋ผ์ ํ์์ ์ผ๋ก ๊ฐ์ ์ ๋ ฅ๋ฐ์์ผ ํ๋ ๊ฒฝ์ฐ๋ ์๋ตํ์ง ์๋๋ค.
3. ๊ทธ ์ธ ์๋ฌ๊ฐ ๋ฐ์ํ๋ ๊ฒฝ์ฐ
@RequestMapping("/requestParam8")
public String main8(@RequestParam(required=false) int year) {
// http://localhost/ch2/requestParam8 ---->> 500 java.lang.IllegalStateException
// http://localhost/ch2/requestParam8?year ---->> 400 Bad Request
System.out.printf("[%s]year=[%s]%n", new Date(), year);
return "yoil";
}
ํ์์ ๋ ฅ์ด ์๋ ๋๋ ๊ณ ๋ คํด์ผ ํ ๋ถ๋ถ์ด ์๋ค.
๋ค์๊ณผ ๊ฐ์ ๊ฒฝ์ฐ๋ ํ์ ์ ๋ ฅ์ด ์๋์ง๋ง, year๋ฅผ int ๊ฐ์ผ๋ก ์ ๋ ฅ ๋ฐ๋ค ๋ณด๋ ์๋ฌด๊ฒ๋ ์ ๋ ฅํ์ง ์์ผ๋ฉด year = null์ด ๋๋ฉด์ int ๊ฐ์ผ๋ก ๋ณํํ ์ ์๊ธฐ ๋๋ฌธ์ ์๋ฒ ์๋ฌ์ธ 500 Error๊ฐ ๋ฐ์ํ๋ค. ๋ํ year๊น์ง๋ง ์ ๋ ฅํ๊ณ ์ซ์๋ฅผ ์ ๋ ฅํ์ง ์์ผ๋ฉด ์ด ๋ํ ๋น ๋ฌธ์์ด๋ก ์ธ์ํ๊ธฐ ๋๋ฌธ์ int ํ์ผ๋ก ๋ณํํ ์ ์๋ค. (400 Error)
๋ฐ๋ผ์, ํ์์ ๋ ฅ์ด ์๋ ๋์๋ ๋ค์๊ณผ ๊ฐ์ด ๊ธฐ๋ณธ๊ฐ์ ์ ๋ ฅํด ์ฒ๋ฆฌํ๋ค.
@RequestMapping("/requestParam11")
public String main11(@RequestParam(required=false, defaultValue="1") int year) {
// http://localhost/ch2/requestParam11 ---->> year=1
// http://localhost/ch2/requestParam11?year ---->> year=1
System.out.printf("[%s]year=[%s]%n", new Date(), year);
return "yoil";
'๐ต java' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
JAVA | enum (0) | 2023.06.13 |
---|---|
JAVA | List, ArrayList์ ์ฌ์ฉ (0) | 2023.06.06 |
JAVA | Database ์ ๊ทํ/๋น์ ๊ทํ (0) | 2023.06.02 |
JAVA | Database (0) | 2023.06.02 |
JAVA | Annotation๊ณผ ๊ทธ ์ข ๋ฅ (0) | 2023.05.24 |