여태까지 버전관리를 할 일이 없었다. 외부에 api를 제공 할 일이 없고 회사내부에서만 작업을 하다보니...그런데 이번에 외부에 api를 제공하게 되면서 api 문서도 제공하였다. 근데 여러군데에 제공하다보니 version관리가 불가피 하게 되었다. 그래서 어떻게 할까 하다 좋은 예제가 있어 글로 작성해본다. 먼저 version어노테이션을 아래와 같이 작성한다. v1, v2등 여러 버전을 맵핑할 수있게 하기 위해서 value는 배열로선언했다. @Retention(RetentionPolicy.RUNTIME) @Target({ElementType.METHOD, ElementType.TYPE}) public @interface Version { double[] value(); } Controller와 url을..
Spring에서 이벤트를 사용하는 방법에 대해 알아보자. 이벤트는 프레임 워크에서 간과 된 기능 중 하나이지만 더 유용한 기능 중 하나입니다. 그리고 Spring의 다른 많은 것들과 마찬가지로 이벤트 퍼블리싱은 ApplicationContext가 제공하는 기능 중 하나입니다. Spring ApplicationEvent는 기본적으로 동기입니다. 먼저 간단한 이벤트 메세지 클래스를 작성합니다. public class CustomEvent extends ApplicationEvent { private String message; public CustomEvent(Object source, String message) { super(source); this.message = message; } public St..
Spring REST Docs는 정확하고 읽기 쉬운 RESTful 서비스에 대한 문서를 생성합니다. 손으로 작성한 문서와 Spring 테스트로 생성 된 자동 생성 문서 snippets(스니펫)을 결합해서 사용 할 수 있게 해줍니다. 자바 문서 자동화에는 Spring REST Docs 이외에 대표적으로 Swagger가 있습니다. 필자는 Swagger의 경험만 있었다...문서 자동화라는 공통점이 있지만 각각 용도,목적??은 다르다. Spring REST Docs Swagger 용도 문서 제공용 API 테스트를 위한 용도에 더 집중됨 장점 깔금하고 API 명세에 집중 적용하기 상대적으로 쉬움 API 테스트 UI제공 단점 Test코드 기반 문서 작성됨 (Test코드 필수) 설정등 적용하기 어려움 코드에 어노테이..