Skip to content

Commit

Permalink
[Feat] Swagger UI 세팅
Browse files Browse the repository at this point in the history
  • Loading branch information
isExample committed Aug 15, 2023
1 parent c6d36f3 commit 2c5b7aa
Show file tree
Hide file tree
Showing 3 changed files with 40 additions and 0 deletions.
1 change: 1 addition & 0 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ dependencies {
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
implementation 'org.springframework.boot:spring-boot-starter-web'
implementation 'mysql:mysql-connector-java:8.0.25'
implementation 'org.springdoc:springdoc-openapi-ui:1.7.0'
compileOnly 'org.projectlombok:lombok'
annotationProcessor 'org.projectlombok:lombok'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
Expand Down
18 changes: 18 additions & 0 deletions src/main/java/HeyPorori/transaction/config/SwaggerConfig.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
package HeyPorori.transaction.config;

import io.swagger.v3.oas.models.OpenAPI;
import io.swagger.v3.oas.models.info.Info;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class SwaggerConfig {
@Bean
public OpenAPI customOpenAPI() {
return new OpenAPI()
.info(new Info()
.title("중고거래 서비스 API")
.version("1.7.0")
.description("[한이음 ICT 멘토링 공모전 프로젝트] 클라우드를 활용한 지역 기반 거래 플랫폼 - 중고거래 서비스"));
}
}
Original file line number Diff line number Diff line change
@@ -1,9 +1,30 @@
package HeyPorori.transaction.controller;

import HeyPorori.transaction.config.BaseException;
import HeyPorori.transaction.config.BaseResponse;
import HeyPorori.transaction.service.TransactionService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Content;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.responses.ApiResponse;
import io.swagger.v3.oas.annotations.responses.ApiResponses;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RequiredArgsConstructor
@Tag(name = "중고거래", description = "중고거래 관련 API 입니다.")
@RestController
@RequestMapping("/api/transactions")
public class TransactionController {
private final TransactionService transactionService;

@Operation(summary = "Swagger UI 테스트용 메서드", description = "프로젝트 초기 Swagger UI 정상작동을 확인하기 위한 메서드입니다.")
@ApiResponse(responseCode = "200", description = "요청 성공", content = @Content(mediaType = "application/json", schema = @Schema(implementation = BaseResponse.class)))
@GetMapping("/test")
public BaseResponse<String> testSwagger() {
return new BaseResponse<>("테스트 성공");
}
}

0 comments on commit 2c5b7aa

Please sign in to comment.