POSTMAN이란?
API 개발을 보다 빠르고 쉽게 구현 할 수 있도록 도와주며, 개발된 API를 테스트하여 문서화 또는 공유 할 수 있도록 도와 주는 플랫폼이다.
REST API
POSTMAN은 REST API를 표현할 수 있다
💡 REST AIP란?
한 문장으로 정의한다면 HTTP URI로 잘 표현된 리소스에 대한 행위를 HTTP Method로 정의한다. 리소스의 내용은 json, xml, yaml등의 다양한 표현 언어로 정의된다. 즉, URI를 이용해서 제어할 자원을 명시하고 HTTP를 이용해서 제어명령을 내린다.
RequestMapping
클라이언트의 요청이 들어왔을 때
- RequestMapping에 전달한 설정에 일치할 경우 실행할 메소드를 설정한다.
스프링 실습 환경세팅
의존성추가
- build.gradle에 sqlite 라이브러리 추가
// sqlite
runtimeOnly 'org.xerial:sqlite-jdbc:3.41.2.2'
runtimeOnly 'org.hibernate.orm:hibernate-community-dialects:6.2.4.Final'
- application.property→ application.yaml로 변경 후 의존성 추가
spring:
datasource:
url: jdbc:sqlite:db.sqlite
driver-class-name: org.sqlite.JDBC
jpa:
hibernate:
ddl-auto: create
show-sql: true
database-platform: org.hibernate.community.dialect.SQLiteDialect
build & run
- http→MappingController 클래스 생성
@Slf4j: log 변수를 만들어준다.
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@Slf4j //log 변수를 만들어준다.
@Controller
public class MappingController {
private static final Logger logger
= LoggerFactory.getLogger(MappingController.class);
pringln 대신에 logger를 사용해준다.
package com.example.http;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
@Slf4j //log 변수를 만들어준다.
@Controller
public class MappingController {
// private static final Logger logger
// = LoggerFactory.getLogger(MappingController.class);
// /path로 오는 GET 요청에 대해 메소드를 실행하고 싶을 때
@RequestMapping(
value = "/path",
method = RequestMethod.GET
)
public String getPath(){
log.info("GET /path");
return "index";
}
}
- 포스트맨 이용하기
- 포스트맨 새 워크스페이스 생성 ‘http’
/path로 오는 GET 요청에 대해 메소드를 실행하고 싶을 때
@RequestMapping(
value = "/path",
method = RequestMethod.GET
)
public String getPath(){
log.info("GET /path");
return "index";
}
- '/path'로 오는 POST 요청에 대해서 메소드를 실행하고 싶을 때
@RequestMapping(
value = "/path",
method = RequestMethod.POST
)
public String postPate(){
log.info("POST /path");
return "index";
}
- '/path' 로 오는 PUT 또는 DELETE 요청에 대해서 메소드를 실행하고 싶을 때
@RequestMapping(
value = "/path",
method = { RequestMethod.PUT, RequestMethod.DELETE}
)
public String putOrDeletePate(){
log.info("PUT or DELETE /path");
return "index";
}
- '/path'로 오는 POST 요청이면서 JSON 데이터를 포함하는 요청에 대해서 메소드를 실행하고 싶을 때
@RequestMapping(
value = "/path",
method = RequestMethod.POST,
consumes = MediaType.APPLICATION_JSON_VALUE
)
public String consumes(){
log.info("POST /path Content-Type: application/json");
return "index";
}
}
postman 세팅
'/path' 로 오는 POST 요청이면서 헤더에 x-likelion이라는 값이 hello로 지정되어 있을 때 메소드를 실행하고 싶을 때
@RequestMapping(
value = "/path",
method = RequestMethod.POST,
headers = "x-likelion=hello"
)
public String headerWith(){
log.info("POST /path with x-likelion=hello");
return "index";
}
'/path'로 오는 POST 요청이면서 Query Parameter로 likelion이 hello로 할당되어 있을 때 메소드를 실행하고 싶을 때
@PostMapping(
value = "/path",
params = "likelion=hello"
)
public String params(){
log.info("POST /path with parameter likelion");
return "index";
}
http://localhost:8080/path?likelion=hello 하면
자동적으로 likelion hello의 값이 생성된다.
'Spring' 카테고리의 다른 글
[Spring] 테스트 클래스란? (0) | 2023.07.09 |
---|---|
[Spring] 유효성 검사 (0) | 2023.07.09 |
MyBatis (0) | 2023.07.09 |
[Spring] CRUD란? (0) | 2023.07.09 |
Spring Security 로그인 & 회원가입 만들기 (0) | 2023.07.06 |