사이드 프로젝트를 하고싶은데 백엔드가 없어서 제가 직접
RestAPI를 만들어서 혼자서 진행하려고 합니다.
요즘은 스프링도 코틀린을 쓴다고 하길래 코틀린으로 진행하도록 하겠습니다.
순수 안드로이드 개발자 관점에서 취미로 백엔드를 하는 것이니
부족한 부분은 댓글 부탁드려요 ^^
인텔리제이는 커뮤니티 얼티메이트 2가지 버전이 존재합니다.
만약 자신이 학생인 것을 인증 할 수 있다면 학생용 라이센스를 이용
해서 얼티메이트를 사용 할 수 있지만 저는 귀찮아서 그냥
커뮤니티 버전으로 하겠습니다.
인텔리제이를 다운로드 하고 New Project를 눌러보면
이런 창이 뜨는데 만약 얼티메이트라면 그냥 바로 여기서
스프링 이니셜라이저를 이용해서 바로 시작 할 수 있지만
저희는 커뮤니티 버전이라 가정하고 웹에서 프로젝트를 생성하고
불러오겠습니다.
해당 사이트에 들어가서 원하는 세팅을 설정해준 후
Generate를 눌러주면 스프링을 시작할 수 있는 프로젝트를 다운로드
하게 됩니다.
의존성은 5개만 추가 해주도록 하겠습니다.
generate 한 프로젝트를 다운 받고 압축 푼 후 인텔리 제이에서
불러와줍시다.
불러오기에 성공했으면 이제 스프링을 시작 할 준비가 되었습니다.
MVC는 Model-View-Controller 의 약자로
스프링에서 많이 쓰이는 디자인 패턴입니다.
간단하게 정리하자면 이렇습니다.
resoure/static 에 index.html을 만들어줍시다.
localhost:8080 을 들어가면 가장 먼저 나오는 화면이
index입니다.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Spring Boot Index</title>
</head>
<body>
<h1>Spring Boot Index</h1>
<p>Welcome to your Spring Boot application!</p>
</body>
</html>
이렇게 만들어 주고 어플리케이션을 실행하도록 하겠습니다.
초록색 버튼을 클릭해 주시고 웹브라우저에 들어가서
localhost:8080 를 들어가주시면
WOW!!!!! Amazing!!!!!!!!!!!!
실행만 해도 재밌네요.
백엔드들은 이렇게 재밌는거 혼자만 하고 있던건가요?
치사하네요 ㅡㅡ
이제 컨트롤러를 작성해보도록 하겠습니다.
컨트롤러는 사용자의 입력을 처리하고 모델의 데이터를 업데이트하거나 뷰를 갱신하죠?
안드로이드 비교하면 ViewModel에 가까운 역할을 한다고 볼 수 있습니다.
// @RestController: RESTful 컨트롤러임을 나타냅니다.
// @RequestMapping("/"): 이 클래스의 모든 핸들러 메서드에 대한 기본 URL 경로를 지정합니다.
class PostController {
//HTTP GET 요청이 /posts 경로로 들어오면 이 메서드가 처리합니다.
@GetMapping("posts")
fun getPosts(): String {
return "hello world!!"
}
}
이렇게 컨트롤러를 작성해주고
실행후 이번엔 localhost:8080/posts 로 들어가보도록 해봅시다.
WOW!! Fantastic!!!!
별거 안했는데 왜이리 재밌죠?
컨트롤러를 이용해서 /posts로 들어가는데 성공했네요!
다음 포스팅에서는 Maria DB를 연동해서 CRUD를 구현해보겠습니다.