MVC (Model-View-Controller) ํจํด์์ ์ฌ์ฉ์์ ์์ฒญ์ ์ฒ๋ฆฌํ๊ณ ,
๋ชจ๋ธ ๋ฐ์ดํฐ๋ฅผ ์
๋ฐ์ดํธํ๋ฉฐ, ๋ทฐ๋ฅผ ์ ํํ์ฌ ์ต์ข
์ ์ผ๋ก ์๋ต์ ์์ฑํ๋ ์ญํ ์ ๋ด๋นํ๋ ๊ตฌ์ฑ ์์์
๋๋ค.
ํน์ URL ํจํด์ ๋ํ HTTP ์์ฒญ์ ๋ฉ์๋์ ๋งคํํฉ๋๋ค.
@RequestMapping, @GetMapping, @PostMapping ๋ฑ์ ์ ๋
ธํ
์ด์
์
์ฌ์ฉํ์ฌ ์์ฒญ์ ์ฒ๋ฆฌํ ๋ฉ์๋๋ฅผ ์ ์ํฉ๋๋ค.
2-2.๋น์ฆ๋์ค ๋ก์ง ํธ์ถ
์๋น์ค ๊ณ์ธต์ ๋น์ฆ๋์ค ๋ก์ง์ ํธ์ถํ์ฌ ํ์ํ ์ฒ๋ฆฌ๋ฅผ ์ํํฉ๋๋ค.
์ผ๋ฐ์ ์ผ๋ก ์๋น์ค ํด๋์ค์ ํตํฉํ์ฌ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๊ณ ๋ณํํฉ๋๋ค.
2-3.๋ชจ๋ธ ๋ฐ์ดํฐ ์ค๋น
์ฒ๋ฆฌ๋ ๋ฐ์ดํฐ๋ฅผ ๋ชจ๋ธ์ ์ถ๊ฐํ์ฌ ๋ทฐ์์ ์ฌ์ฉ ๊ฐ๋ฅํ๋๋ก ํฉ๋๋ค.
Model ๊ฐ์ฒด๋ฅผ ํตํด ๋ทฐ์ ์ ๋ฌํ ๋ฐ์ดํฐ๋ฅผ ์ค์ ํฉ๋๋ค.
์์ฒญ์ ๋ํ ์๋ต์ผ๋ก ๋ ๋๋งํ ๋ทฐ๋ฅผ ์ ํํฉ๋๋ค.
์ผ๋ฐ์ ์ผ๋ก ๋ทฐ ์ด๋ฆ์ ๋ฐํํ๊ฑฐ๋, @ResponseBody๋ฅผ ์ฌ์ฉํ์ฌ ์ง์ ์๋ต ๋ณธ๋ฌธ์ ์์ฑํฉ๋๋ค.
import org .springframework .stereotype .Controller ;
import org .springframework .ui .Model ;
import org .springframework .web .bind .annotation .GetMapping ;
import org .springframework .web .bind .annotation .RequestParam ;
@ Controller
public class GreetingController {
@ GetMapping ("/greeting" )
public String greeting (@ RequestParam (name ="name" , required =false , defaultValue ="World" ) String name , Model model ) {
model .addAttribute ("name" , name );
return "greeting" ;
}
}
import org .springframework .web .bind .annotation .GetMapping ;
import org .springframework .web .bind .annotation .RequestParam ;
import org .springframework .web .bind .annotation .RestController ;
@ RestController
public class GreetingRestController {
@ GetMapping ("/api/greeting" )
public Greeting greeting (@ RequestParam (name ="name" , required =false , defaultValue ="World" ) String name ) {
return new Greeting ("Hello, " + name );
}
public static class Greeting {
private String message ;
public Greeting (String message ) {
this .message = message ;
}
public String getMessage () {
return message ;
}
}
}