[Spring] Spring에서 API 문서 자동화하기 (1) - Swagger API 문서화 백엔드와 프론트엔드 개발자 사이의 원활한 협업을 위해서는 REST API 명세에 대한 문서화가 잘 되어있어야 한다. 현재 개인 프로젝트 (AImage)에서도 REST API를 구현하였고, 문서화를 진행 davidy87.tistory.com [Spring] Spring에서 API 문서 자동화하기 (2) - Spring REST Docs [Spring] Spring에서 API 문서 자동화하기 (1) - Swagger API 문서화 백엔드와 프론트엔드 개발자 사이의 원활한 협업을 위해서는 REST API 명세에 대한 문서화가 잘 되어있어야 한다. 현재 개인 프로젝트 (AI davidy87.tistory.com 이전 ..
[Spring] Spring에서 API 문서 자동화하기 (1) - Swagger API 문서화 백엔드와 프론트엔드 개발자 사이의 원활한 협업을 위해서는 REST API 명세에 대한 문서화가 잘 되어있어야 한다. 현재 개인 프로젝트 (AImage)에서도 REST API를 구현하였고, 문서화를 진행 davidy87.tistory.com 이전 글에서는 Swagger에 대해 알아보고 현재 진행 중인 프로젝트에 간단하게 적용해봤다. 이번에는 Spring REST Docs를 사용해보자. Spring REST Docs 특징 Spring REST Docs는 Swagger와는 다르게 코드에 문서화를 위한 별도의 코드를 추가하지 않아도 된다. 대신, 테스트 코드를 작성하며 API를 명세할 수 있다. 미리 정의한 테스트가 ..
API 문서화 백엔드와 프론트엔드 개발자 사이의 원활한 협업을 위해서는 REST API 명세에 대한 문서화가 잘 되어있어야 한다. 현재 개인 프로젝트 (AImage)에서도 REST API를 구현하였고, 문서화를 진행해야 했다. Spring에서 자주 사용되는 API 문서 자동화 도구는 대표적으로 Swagger와 Spring REST Doc 두가지가 있다. 이 개인 프로젝트에서 두 기술을 모두 사용해 보고, 비교해서 최종적으로 어떤 기술을 적용시킬지 결정할 것이다. 먼저 Swagger를 사용하여 API 문서화를 진행해보겠다. Swagger 1. Springfox vs. Springdoc Swagger로 API 문서화를 시작하기에 앞서, Springfox와 Springdoc에 대해 알아보자. Spring Fr..
개요 개인 프로젝트 중에 controller를 리팩토링하고 REST API를 구현하는 작업을 하면서 MockMVC로 간편하게 controller를 테스트할 수 있다는 것을 알게되었다. MockMVC 란? 서블릿 컨테이너의 구동 없이, 시뮬레이션된 MVC 환경에 모의 HTTP 서블릿 요청을 전송하는 기능을 제공하는 유틸리티 클래스다. 쉽게 말해, 실제 객체와 비슷하지만 테스트에 필요한 기능만 가지는 "가짜 객체" 를 만들어 애플리케이션 서버에 배포하지 않고도 스프링 MVC 동작을 재현할 수 있는 클래스를 의미한다. 사용 방법 (설정) Test 클래스에 @AutoConfigureMockMvc annotation을 선언하고 안에 MockMVC 를 주입 받으면 사용할 수 있다. @SpringBootTest @A..
개요 HTTP의 기본 특성인 비연결성 과 무상태성 때문에, 서버는 클라이언트를 기억하지 못한다. 하지만 웹을 개발하다보면 때때로 서버가 클라이언트를 기억해줘야하는 순간들이 필요하다. 로그인, 사용자 인증, 등등... 위와 같은 상황을 처리하기 위해 웹에서 cookie나 session을 이용하여 상태를 유지한다. 그럼 Spring에서는 cookie와 session을 어떻게 사용하는지 알아보자. Cookie 기존 servlet에서 쿠키에 저장된 값을 가져오려면, 아래와 같은 형식의 코드로 쿠키 전체 리스트를 가져와 반복문을 통해 찾고자하는 key 값을 가진 쿠키를 찾아내야 했다. Cookie[] cookieList = request.getCookies() 그런데, Spring에서는 쿠키값을 사용해야 하는 메..