목록rest docs (3)
개발스토리
java.lang.IllegalArgumentException: urlTemplate not found. If you are using MockMvc did you use RestDocumentationRequestBuilders to build the request? Rest Docs를 적용을 하고 api 문서를 뽑아내는 중에 위와 같은 오류를 만났다. 어쩌다 만났느냐..!? api 문서를 만들려면 당연히 클라이언트에게 api를 사용하기 위한 모든 정보를 적어서 줘야 한다. 예를 들어 user를 조회하기 위한 api url이 domain/user/{username}이라고 치자. domain/user는 변하지 않지만 username은 동적이다. joo라는 사용자를 조회할 수도 있고 kim이라는 사용자를 ..
전 포스팅에 이어서 이번에는 spring 프로젝트에 적용한 포스팅을 쓴다. 주요 라이브러리 버전 - spring boot 2.x.x - gradle 6.x - junit 5 build.gradle plugins { id 'org.springframework.boot' version '2.x.x' id 'io.spring.dependency-management' version '1.0.10.RELEASE' id 'java' // asciidoc 파일을 변환해서, build 폴더에 복사해주는 플러그인! id 'org.asciidoctor.convert' version "1.5.6" } asciidoctor { dependsOn test // gradle build 시 test -> asciidoctor 순으..
회사에서 새로운 프로젝트를 시작하는데 REST API 설계부터 하고 api 문서를 뽑아내기 위해 REST Docs를 적용하기로 했다. Spring REST Docs? - Asciidoctor를 사용해서 API 문서를 생성하도록 돕는 것이다. 나는 여러 사이드 프로젝트를 하면서 API 문서를 전달하기 위해 swagger, postman, notion 등을 사용했었다. 이번에는 REST Docs를 적용해야 해서 오랜만에 글을 써본다. 우선 여러 방법으로 api 문서를 뽑아내면서 느낀 점을 간단히 소개해보겠다. swagger - 실제 코드에 어노테이션들이 추가 되면서 문서가 생성된다. - 가독성 측면에서 여러 어노테이션이 달리면 지저분해 보일 수 있다. 실제로 지저분해 보이긴했다. - 하지만 많이 쓰이는 이유..