본문 바로가기
[개발] 프로그래밍/Spring, Web

토비의 스프링 부트 - 이해와 원리(2) : 스프링 부트 시작하기

by 야닝 2023. 5. 8.

스프링 부트 개발환경

SpringBoot 2.7.6

JDK 11

IDE : IntelliJ 

 

 

스프링 부트 프로젝트 생성

 

1. 프로젝트 생성

웹 Spring Initializr (Spring Initializr) 에서 프로젝트 생성하기

 

생성옵셥

  • Project: Gradle
  • Langauge: Java
  • SpringBoot Version: 2.7.6
  • Group Id: tobyspring
  • Name: hello
  • Packaging: Jar
  • Java Version: 11
  • Dependency:   Spring Web

 

2. 컨트롤러 생성

HelloController.java

package tobyspring.hello;

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class HelloController {
    @GetMapping("/hello")
    public String hello(String name) {
    return "Hello " + name;
    }
}

 

 

API 테스트 방법

Q. 브라우저 출력결과를 통해 테스트 하는 방법 뿐만 아니라 다른 방식은 없을까?

 

HTTP 요청을 만들고 응답을 확인하는데 사용되는 도구

 

  • 웹 브라우저 개발자 도구

  • curl (서버와 통신할 수 있는 커맨드 명령 툴)
  • HTTPie (https://httpie.io/)
    • python 으로 개발된 콘솔용 http client 유틸리티로 curl 대신 http 개발 및 디버깅 용도로 사용 가능
    • json 지원 기능 내장
    • 출력을 포맷팅하여 보여주므로 가독성이 뛰어남
    • HTTP 인증 및 커스텀 헤더 설정 등이 가능
  • Intellij IDEA Ultimate- http request
  • Postman API Platform
  • JUnit Test

 

 

HTTP 요청과 응답

웹 Request와 Response의 기본 구조를 이해하고 내용을 확인할 수 있어야 한다

 

Request

  • Request Line: Method, Path, HTTP Version
  • Headers
  • Message Body

Response

  • Status Line: HTTP Version, Status Code, Status Text
  • Headers
  • Message Body
//요청
GET /hello?name=Spring HTTP/1.1
Accept: */*                            
Accept-Encoding: gzip, deflate
Connection: keep-alive
Host: localhost:8080
User-Agent: HTTPie/3.2.1


//응답
HTTP/1.1 200      //200정상
Connection: keep-alive
Content-Length: 12
Content-Type: text/plain;charset=UTF-8
Date: Thu, 01 Dec 2022 01:45:15 GMT
Keep-Alive: timeout=60

Hello jiyani                      //body

 

 

댓글