목표
- 프로젝트 생성
- 서버 실행
- Get 요청 만들기
프로젝트 생성
기본적으로 나는 인텔리제이(IntelliJ) 툴을 사용할 것이다.
시작하기전에 자바가 설치 되어있어야한다.
인텔리제이에서 New Project 를 하여 Spring Initializr 를 선택하여준다.
원하는 프로젝트 이름을 입력해준다.
인텔리제이 최신버전에서는 Spring 3 이상으로만 생성이 된다.
근데 Spring 3 이상 버전에서는 자바 17부터 가능하다.
그래서 나는 자바 17 로 할 것이다.
자바 17 이여도 17에 뭐가 새로생겼는지 어쨋는지 모른다.
나는 어쩔수 없이 17로 하는 것이다.😅
기본 패키지는 Spring Boot DevTools 와 Lombok , Spring Web 을 기본으로 정하였다.
이제 Create를 하면 프로젝트가 생성된다.
만약 다른 툴로해서 기본 설치 패키지를 선택 할 수 없다면
프로젝트 생성 완료 후 build.gradle 에 패키지를 추가해준다.
dependencies { implementation 'org.springframework.boot:spring-boot-starter-web' compileOnly 'org.projectlombok:lombok' developmentOnly 'org.springframework.boot:spring-boot-devtools' annotationProcessor 'org.projectlombok:lombok' testImplementation 'org.springframework.boot:spring-boot-starter-test' }
설치가 완료되면 프로젝트가 보이게 된다.
이중 application.properties 의 확장자를 yml 로 바꾸자.
인텔리 제이 기준 (shift + F6)
이 글을 보고 따라하는 사람이라면 초보자 일 것 입니다.
옛날 Spring 프로젝트 아니고서야 properties로 쓰는 곳은 없기 때문에
무조건 application.yml 로 바꿔주자
서버실행
서버를 실행해보자. 서버 실행 버튼을 찾을 수 없다면 인텔리 제이 기준 [Shift + F10]을 해줍니다.
실행하게되면 Console 창에 Spring 표시와 함께 서버가 실행됩니다.
그 후 여러가지 표시가 나옵니다.
자바 버전, 현재 기동되는 서버의 포트, 그리고 서버 실행이 완료되었다는 글이 나옵니다.
기본적으로 따로 설정하지 않으면 서버의 포트는 8080 입니다.
그러면 웹 브라우저를 열고 localhost:8080 을 해봅니다.
Whitelabel Error Page가 나오는데요.
지극히 정상입니다.
localhost:8081 로 해볼까요 ?
페이지에 연결 할 수 없습니다.가 나옵니다.
이 말은 즉 아예 없는 페이지라는 뜻 입니다.
하지만 localhost:8080은 현재 서버가 올라가 있는 상태이기 때문에
8080 포트의 서버에 연결은 됐지만 매핑되는 페이지가 없어서 나오는 것 입니다.
이제 8080 포트에 매핑 될 API 만들어 봅시다.
Get 요청 만들기
기본 localhost:8080 요청의 API 를 만들어 보겠습니다.
기본 패키지 하위에 controller 라는 패키지를 만들고 BaseController.java 를 만들었습니다.
package com.mana.api.controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; // RestController 명시 @RestController public class BaseController { // localhost:8080/ 기본 매핑 @GetMapping("/") public String base(){ return "Hello World!"; } }
이후 다시 서버를 재실행 후 localhost:8080 을 해보자.
이처럼 localhost:8080 혹은 localhost:8080/ 이
방금 만든 @GetMapping(“/”) 에 매핑되어 hello world 를 리턴 하는 걸 알수있다.