spring/spring Boot

스프링 시작!

leehyeon-dv 2024. 11. 15. 18:42

스프링을 시작해보려고 하는데 처음부터 하려면 공식 문서를 보고 작업하는 게 좋을거같아

이렇게 시작하게 되었습니다! 

 

먼저 Getting Started에 Queckstart Guide로 들어가줍니다

저는 intelliJ와 JDK17을 사용해서 작업을 시작해보려고합니다

다음을 참고해주세요!

 

1단계  : spring Boot 프로젝트 시작

여기서 spring web을 추가합니다. 그 후 generate를 눌러서 생성하고 다운로드 된 파일을 압축을 풉니다

 

2단계 : 코드 추가

이제 IDE에서 프로잭트를 열고 DemoApplication.java에서 파일을 찾습니다

(위에서 만든 arfifact 이름이 클래스 이름에 사용됩니다)

이제 아래 코드에 표시된 추가 메서드와 주석을 추가해 파일을 내용을 변경합니다 

package com.example.demo;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

@SpringBootApplication
@RestController
public class DemoApplication {
    public static void main(String[] args) {
      SpringApplication.run(DemoApplication.class, args);
    }
    @GetMapping("/hello")
    public String hello(@RequestParam(value = "name", defaultValue = "World") String name) {
      return String.format("Hello %s!", name);
    }
}

이것은 spring boot에서 간단한 hello world웹서비스를 만드는데 필요한 모든 코드입니다 

hello()는 name이라는 문자열 매개변수를 취하도록 설계되었으며 매개변수를 코드의 단어와 결합합니다

 

📥사용된 어노테이션📥

@RestController : spring에게 이 코드가 웹에서 사용할 수 있는 엔드포인트를 정의하고 있다고 알려줌

                              이 클래스가 HTTP요청을 처리할 준비가 되어있음을 spring에게 알림

@GetMapping("/hello") : /hello 경로로 들어오는 http 요청을 hello()메서드로 처리하라고 spring에 지시한다 

                                        특정 경로로 들어오는 get요청을 처리

                                        (예를들어, http://localhost:8080/hello로 요청이 오면 hello() 메서드가 호출됨)

@RequestParam은 요청에서 name이라는 값을 기대한다고 spring에게 요청, 기본값은 world이다 

                                 HTTP요청에서 들어오는 Query Parameter 를 받아온다

 

 

📍?<궁금한점>📍

📌Query Parameter란?

- 웹 애플리케이션에서 클라이언트가 서버로 데이터를 전송할때 URL의 일부로 포함되는 데이터

- GET요청에서 사용됨, URL뒤에 ?로 시작하고 key=value형식으로 데이터를 전달한다

 

📌 RestController는?

- REST = representational State Transfer의 약자 

- Controller = 웹 애플리케이션에서 HTTP 요청을 처리하고 응답을 반환하는 역할

RestController = @Controller(view를 반환하는 MVC 컨트롤러)

                           + @ResponseBody(메서드의 반환 값을 HTTP응답 본문으로 직접 반환함)

->즉, JSON, XML형식의 데이터를 반환하는 REST API를 쉽게 만들 수 있도록 한다 

📝사용예시📝

http://localhost:8080/hello?name=Ehyeon  -> Hello Ehyeon출력

 

3단계 : 시작

위에 버튼으로 빌드하고 실행해서 스프링을 실행합니다

이렇게 뜨면 성공!

localhost:8080/hello에 접속 ->

📍?name=을 쓰면 어떻게될까

이렇게 적용되는 모습을 볼 수 있습니다!

 

 

🔍다음에 할것

다음은 RESTful web service를 학습해보겠습니다

 

RESTful 웹 서비스는 HTTP 메서드를 사용해 자원을 처리하는 api입니다 

URL 구조와 JSON형식의 데이터를 주로 사용합니다

'spring > spring Boot' 카테고리의 다른 글

스프링 환경 갖추기  (0) 2024.12.18
RESTful 웹 서비스 사용  (0) 2024.11.25
RESTful 웹 서비스 구축  (1) 2024.11.21