코테 및 다른 코딩 공부

[Spring Boot] 웹페이지 만들기 3 - 환경 설정 및 REST API, Controller

넴넴L 2025. 3. 25. 21:18
728x90

앞서 테스트를 해봤으면 이제 유튜브를 보면서 따라해볼것이다.

내가 아직 모르는 것이 많기 때문에 유튜브는 참조용이고(만드는 방식 이런것들)

나는 내가 생각해놨던 것을 만들어 보고 싶어서 시작하려고 한다.

 

https://chocolatey.org/

 

Chocolatey - The package manager for Windows

Chocolatey is software management automation for Windows that wraps installers, executables, zips, and scripts into compiled packages. Chocolatey integrates w/SCCM, Puppet, Chef, etc. Chocolatey is trusted by businesses to manage software deployments.

chocolatey.org

여기로 들어가서

 

try it now 클릭 후

 

아래로 쭉 내려서 체크해놓은 곳을 클릭하면 copy가 된다

 

저것을 powershell에 기입해주자

그럼 설치가 될것이다. 설치가 되어있는거 확인을 해보려고 한다면

cmd를 들어가서 "hoco -version" 을 쳐주자

잘 뜨는것을 확인했다.

주의할 점은 관리자 모드로 cmd를 켜줘야한다.

 

cmd에서 choco install openjdk8 <= 을 치면 설치가 된다.

여기서는 all의 a를 쳐주자

 

maven도 설치 해줘야하기 때문에

choco install maven을 치고 마찬가지로 all로 해주자

 

maven이 잘 설치 되었는지 확인하기 위해서는 그냥 cmd를 켜고

mvn -version을 치면

 

이런 값이 나오게 된다.

 

이전까진 spring.io에서 설치를 했는데 나는 참고하는 영상을 따라서 Intellij에서 하려고 한다.

 

https://www.jetbrains.com/idea/

 

IntelliJ IDEA – the IDE for Pro Java and Kotlin Development

IntelliJ IDEA is the JetBrains IDE for pro development in Java and Kotlin. Built for your comfort, it unlocks productivity, ensures quality code, supports cutting-edge tech, and protects your privacy.

www.jetbrains.com

 

들어와서 Download => Community 를 다운로드 해주자(Ultimate는 30일 동안 무료일거다)

next 해줘서 설치를 하자

나는 이렇게 뜨고 

그냥 import setting 해주었다.

 

create new project 눌러주고 openjdk가 깔린 곳을 알아야 하는데

혹시 git이 설치가 되어있지 않다면 설치, git이 설치가 되어있다면 which java 를 쳐주자

 

나는 "/c/Program Files/Eclipse Adoptium/jdk-8.0.432.6-hotspot/bin/java" 로 나온다.

jdk를 설치한걸 사용할거고 Name은 하고싶은대로 해주고 create버튼을 눌러주자

 

 

만들어진것을 볼 수 있다.

src에 Main이 만들어져있을거고

여기에서 Hello World가 찍혀져 있으니 12시에 > 표시를 눌러보자

 

그러면 이렇게 Hello World가 잘 뜰것이다.

 

환경설정을 계속 해주자

https://spring.io

 

Spring | Home

Cloud Your code, any cloud—we’ve got you covered. Connect and scale your services, whatever your platform.

spring.io

들어가서

 

Learn => guide

이걸 찾아서 들어가주자

 

클릭 후 아래로 내려와서 Starting with Spring Initailizr에 pre-ini~를 클릭

 

Maven, Java, 3.4.4(나는 이럼), Java는 17로 하고

Generate를 클릭해주자

 

다운되었으면 압축풀고 

클릭 => file => open => 아까 풀었던 거 => This Window

 

실행되는 메인함수이다. 저 com.nemnem~~ 우클릭 => Class => Greeting, GreetingController 2개를 만들어주자

 

Greeting.java

 

GreetingController.java

 

이렇게 쳐주자(아까 Spring.io 거기 아래 내려보면 있을건데 난 그냥 손으로 쳤다)

 

MainClass에 와서

저거 누르고 Run 눌러주자

 

혹시라도 실행이 안된다면 sdk를 변경해줘야 한다.

project setting에 들어가서 sdk를 변경(나는 11버전이 있어서 11버전을 사용했다)

 

"java.lang.UnsupportedClassVersionError: com/nemnem/createWebPage/CreateWebPageApplication has been compiled by a more recent version of the Java Runtime (class file version 61.0), this version of the Java Runtime only recognizes class file versions up to 55.0"

이런 에러가 떴다. 동영상을 보면서 하면 제일 단점은 이런 에러가 나는것이다.

하나하나씩 풀어나가보자

 

나는 아까 openjdk를 설치했을때 1.8로 했는데 지금 나는 sdk가 11버전을 사용해서 맞지 않는 것이다.

변경을 해줘야할거 같다..

 

지금 여기서는 61버전이 실행됐는데 나는 55버전이라는 거 같다.

자바 17버전을 설치할것이다.

openJDK 에서 17SE 버전 설치

 

이렇게 SDK를 17버전으로 바꿔줬다.

 

그렇게 Run을 하면

이런식으로 뜰거다.

 

그러고 브라우저 창에

"http://localhost:8080/greeting" 을 치게 되면

이런 화면이 뜰것이다.

 

그럼 왜 저렇게 뜨는지 알아야 할거잖아

 

GreetingController 클래스는 @RestController 어노테이션을 사용해 REST API를 정의하는 클래스다.

@GetMapping을 사용해서 엔드포인트로 GET요청을 처리한다. localhost:8080/greeting을 하는 이유이다.

name이라는 쿼리 파라미터를 받아서 이 값을 사용해 인사 메세지를 만든다.

defaultValue를 사용해 파라미터가 제공되지 않으면 world가 사용된다.

AtomicLong counter를 사용하면 요청을 받을 때마다 증가하는 카운터이다. 이를 통해 Greeting 객체의 id 값을 할당한다.

String.format(template, name)을 사용해 "Hello, {name}" 형식의 인사 메시지를 생성한다.

 

만약에 /greeting?name=Nemnem을 하게 된다면 name 파라미터 값이 Nemnem이므로

이러한 값이 나오게 된다.

 

만약에 Greeting에서 test로 변경을 하고 다시 Run을 해보면

 

content => test로 변경된 것으로 알 수 있다.