[Swagger] Spring Swagger 데모 실행 예시 (Springdoc-openapi Demos)

류넹·2024년 3월 27일
1

etc

목록 보기
5/16

📌 Swagger 설정

1. pom.xml 의존성 추가

<!--
	swagger 온라인 문서를 지원하는 라이브러리 의존성
-->
<dependency>
	<groupId>org.springdoc</groupId>
    <artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
    <version>2.4.0</version>
</dependency>

2. application.properties 설정 추가

# swagger UI 접속 URL을 지정한다.
springdoc.swagger-ui.path=/swagger-ui.html

3. swagger 데모 주소 진입

http://localhost/swagger-ui/index.html





💡 테스트 실행

1. RestController

  • @Tag, @Operation, @Parameter, @ApiResponses 추가
@RestController
@RequestMapping("/api/v1")
@RequiredArgsConstructor
@Tag(name = "회원 API", description = "회원정보 추가, 변경, 삭제, 조회 API를 제공한다.")
public class MemberController {

	private final MemberService memberService;
	
	@Operation(summary = "전체 회원 조회", description = "전체 회원정보를 조회한다.")
	@ApiResponses({
		@ApiResponse(responseCode = "200",
					 description = "조회 성공",
					 content = {@Content(mediaType = "application/json", schema = @Schema(implementation = RestResponse.class))})
	})
	@GetMapping("/members")
	public RestResponse<Member> getMembers(
			@Parameter(name = "startDate", description = "조회 시작일자", required = false)
			@RequestParam(name = "startDate", required = false) @DateTimeFormat(pattern = "yyyy-MM-dd") Date startDate,
			
			@Parameter(name = "endDate", description = "조회 종료일자", required = false)
			@RequestParam(name = "endDate", required = false) @DateTimeFormat(pattern = "yyyy-MM-dd") Date endDate) {
		
		List<Member> members = memberService.getAllMembers(startDate, endDate);
		return RestResponse.getResponse(members);
	}
}

2. 웹페이지 순서

1) @Tag, @Operation, @Parameter에 적은 대로 설명이 추가됨

테스트하기 위해 우측 중간의 Try it out 클릭



2) 파라미터(조회 시작일자, 조회 종료일자)에 값 입력 후 Execute 실행



3) 응답 결과 확인

profile
학습용 커스터마이징 간단 개발자 사전

0개의 댓글