Swagger UI는 본인이 만든 api를 타인과 공유할때 유용한 API 문서화 도구이다.
위와 같이 정렬되게 되고 클릭할 시 API 엔드포인트, HTTP 메서드(GET, POST, PUT 등), 요청 파라미터, 응답 형식 등을 보여준다.
작성하는 법은
게시글 목록 api를 기준으로
이런식으로 애노테이션을 활용하여 작성하게 된다.
자세하게는
@Parameter(name="bid", required = true, description = "경로변수, 게시판 ID", example = "notice")
required를 활성화할 경우 필수적으로 필요한 요소임을 표시하고,
description를 통해 해당 요소에 대한 설명을 덧붙인다. 예시) 게시글 번호, 작성자 번호 등등..
(HTML 태그를 사용할 수 있다.)
example를 통해 파라미터에 대한 예시 값을 제공한다.
여기서
이 항목에 대해서는 따로 작성한 적이 없는데 표기되는 이유는
swagger UI에서
@ModelAttribute
를 사용하면 Swagger가 자동으로 해당 객체를 쿼리 파라미터로 변환하고, 이를 API 문서에 반영한다.
그리고 required가 표시된 이유는 쿼리 파라미터의 요소중에 한개라도 필수 항목이라고 판단하면 표시된다 .
@Data
public class BoardSearch extends CommonSearch {
private String bid;
private List<String> bids;
private String bname;
private boolean active;
}
active 요소가 null일수 없기에 필수적이다.