스프링 부트 개발환경
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
'[개발] 프로그래밍 > Spring, Web' 카테고리의 다른 글
토비의 스프링 부트 - 이해와 원리(3) : 독립 실행형 서블릿 애플리케이션 (0) | 2023.05.21 |
---|---|
토비의 스프링 부트 - 이해와 원리(1) : 스프링 부트 살펴보기 (1) | 2023.05.08 |
댓글