[์น๊ฐ๋ฐ์ ๋ด, Spring] 1์ฃผ์ฐจ ๊ฐ๋ฐ์ผ์ง(1) - ์น๊ณผ ์คํ๋ง ๊ธฐ๋ณธ ๊ฐ๋
[์น๊ฐ๋ฐ์ ๋ด, Spring] 1์ฃผ์ฐจ ๊ฐ๋ฐ์ผ์ง(2) - ์๋ฐ ๊ธฐ์ด ๋ฌธ๋ฒ
๋ธ๋ผ์ฐ์ ์ ๋ํ๋ด๋ณด๊ธฐ
๐ก RestController
์คํ๋ง ์๋ฒ๋ฅผ ๋์์ ํด๋์ค ์ ๋ณด๋ฅผ JSON์ผ๋ก ๋ธ๋ผ์ฐ์ ์ ๋ํ๋ด๋ ค๋ฉด ์ด๋ป๊ฒ ํด์ผ ํ ๊น? ๋ฐ์ดํฐ๋ก ์๋ตํ๋ ค๋ฉด, RestController๊ฐ ํ์ํ๋ค.
Rest๋ ์๋ฒ์ ์๋ต์ด JSON ํ์์์ ๋ํ๋ธ๋ค. ์ฆ, HTML, CSS ๋ฑ์ ์ฃผ๊ณ ๋ฐ์ ๋๋ Rest๋ฅผ ๋ถ์ด์ง ์๋๋ค.
Controller๋ ํด๋ผ์ด์ธํธ์ ์์ฒญ(Request)์ ์ ๋ฌ๋ฐ๋ ์ฝ๋์ด๋ค. ์ด๋ JSON๋ง์ ๋๋ ค์ฃผ๋ ๊ฒ์ RestController๋ผ๊ณ ๋ถ๋ฅธ๋ค.
๐ก RestController ๋ง๋ค๊ธฐ
1. src > main > com.sparta.week01์ controller ํจํค์ง๋ฅผ ์์ฑํ๋ค.
2. CourseController.java ํ์ผ์ ๋ง๋ ๋ค.
3. ๋ค์ ์ฝ๋๋ฅผ ์์ฑํ๋ค.
@RestController
public class CourseController {
@GetMapping("/courses")
public Course getCourses() {
Course course = new Course();
course.setTitle("์น๊ฐ๋ฐ์ ๋ด ์คํ๋ง");
course.setDays(35);
course.setTutor("๋จ๋ณ๊ด");
return course;
}
}
๋ธ๋ผ์ฐ์ ์์ ์ฃผ์๋ฅผ ์น๋ ํ์๋ฅผ GET ๋ฐฉ์์ผ๋ก ์ ๋ณด๋ฅผ ์์ฒญํ๋ค๊ณ ๋งํ๋ค. ์ ์ฝ๋์ @GetMapping("/courses")๋ ์คํ๋ง ์ฃผ์(http://localhost:8080) ๋ค์ ์ฃผ์๊ฐ /courses์ผ ๊ฒฝ์ฐ, getCourse ๋ฉ์๋๋ฅผ ์คํํ๋ค๋ ์๋ฏธ์ด๋ค.
์ฐธ๊ณ ์๋ฃ: ์คํ๋ฅดํ์ฝ๋ฉํด๋ฝ ์น๊ฐ๋ฐ์ ๋ด, Spring 1์ฃผ์ฐจ ๊ฐ์์๋ฃ