JSON 응답 결과 테스트
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath;
...
@Test
void t001() throws Exception {
// When
ResultActions resultActions = mvc
.perform(
...
)
.andDo(print());
// Then
resultActions
.andExpect(status().is2xxSuccessful())
.andExpect(jsonPath("$.resultCode").value("Success"))
// resultCode 값은 "Success"여야 한다.
.andExpect(jsonPath("$.data.accessToken").exists());
// data.accessToken 값이 존재해야 한다.
}
jsonPath(Key값).value(예상값) => 예상값을 반환하는지 검증
jsonPath(Key값).exists() => 반환값의 존재 여부를 검증
API 엔드 포인트
(Chat GPT 답변)
API 엔드 포인트는 웹 애플리케이션 또는 서비스에서 외부 시스템과 상호 작용하기 위한 URL(Uniform Resource Locator)입니다. 간단히 말해, API 엔드 포인트는 클라이언트 애플리케이션이 API와 통신할 수 있는 특정 경로입니다.
API 엔드 포인트는 일반적으로 HTTP 프로토콜을 사용하며, 클라이언트가 원하는 작업을 수행하기 위해 해당 엔드 포인트로 요청을 보냅니다. 이러한 요청은 HTTP 메서드(GET, POST, PUT, DELETE 등)를 사용하여 지정된 엔드 포인트에 데이터를 보내고, 서버는 해당 요청에 대한 응답을 반환합니다.
예를 들어, Twitter API의 "https://api.twitter.com/1.1/statuses/user_timeline.json"은 특정 사용자의 타임라인을 가져오기 위한 엔드 포인트입니다. 클라이언트 애플리케이션은 이 URL에 GET 요청을 보내고, 서버는 JSON 형식으로 사용자의 타임라인 데이터를 응답합니다.
API 엔드 포인트는 다양한 기능을 수행할 수 있으며, 데이터를 가져오기, 생성하기, 수정하기, 삭제하기 등과 같은 작업을 지원할 수 있습니다. 또한, 인증 및 권한 부여를 위한 매개변수를 포함할 수도 있습니다.
API 엔드 포인트는 일반적으로 REST(Representational State Transfer) 아키텍처 스타일을 따르며, 리소스와 관련된 작업을 수행하기 위한 일관된 방법을 제공합니다. 이를 통해 다른 시스템과의 통합 및 데이터 교환을 용이하게 합니다.
Swagger
REST API를 설계, 구축, 문서화 및 사용하는 데 도움이 되는 OpenAPI 사양을 기반으로 구축된 오픈 소스 도구 세트
http://localhost:8080/swagger-ui/index.html 로 접속하면 상세 내용을 볼 수 있다.
간단한 테스트 기능도 제공한다.
(+) springdoc 라이브러리는 내부적으로 swagger를 사용한다.
'프로젝트 & TIL > 일별 공부 기록 (백엔드 스쿨)' 카테고리의 다른 글
64일차 - 젠킨스 설치, 파이프라인 프로젝트, 프로토타이핑 툴 (0) | 2023.05.23 |
---|---|
62일차 - 젠킨스 개요 (0) | 2023.05.22 |
60일차 - 톰캣, 프로그래머스 문제 풀이, Postman (0) | 2023.05.17 |
59일차 - 프로그래머스 문제 풀이, JWT (0) | 2023.05.16 |
58일차 - 토스페이먼츠, 프로그래머스 문제 풀이 (0) | 2023.05.15 |