Skip to content

Commit

Permalink
Merge pull request #114 from Korea-Certified-Store/feature/add-except…
Browse files Browse the repository at this point in the history
…ions-to-swagger(#113)

Swagger에 API별 Exceptions 추가 (#113)
  • Loading branch information
sungjindev authored Feb 24, 2024
2 parents 2f9682c + 5424785 commit 219b094
Show file tree
Hide file tree
Showing 2 changed files with 110 additions and 11 deletions.
21 changes: 18 additions & 3 deletions src/main/java/com/nainga/nainga/domain/report/api/ReportApi.java
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,12 @@ public class ReportApi {
"formattedAddress: 등록 요청하는 가게 주소<br>" +
"certifications: 가게가 가지고 있는 인증제들의 이름을 담은 리스트. 착한가격업소, 모범음식점, 안심식당이 아닌 경우 예외 발생<br>" +
"[Response Body]<br>" +
"등록된 reportId<br>")
"등록된 reportId<br>" +
"[Exceptions]<br>" +
"- 잘못된 인증제 이름이 들어온 경우<br>" +
"httpStatusValue: 404<br>" +
"httpStatusCode: INVALID_CERTIFICATION<br>" +
"message: There is a wrong certification. You can only use certifications such as 착한가격업소, 모범음식점, 안심식당.<br>")
@PostMapping("api/report/newStore/v1")
public Result<Long> saveNewStoreReport(@Valid @RequestBody SaveNewStoreReportRequest saveNewStoreReportRequest) {
Long reportId = reportService.saveNewStoreReport(saveNewStoreReportRequest);
Expand All @@ -42,7 +47,12 @@ public Result<Long> saveNewStoreReport(@Valid @RequestBody SaveNewStoreReportReq
"storeId: 수정 혹은 삭제를 요청하는 가게 id<br>" +
"contents: 제보 내용<br>" +
"[Response Body]<br>" +
"등록된 reportId<br>")
"등록된 reportId<br>" +
"[Exceptions]<br>" +
"- 잘못된 dtype이 들어온 경우<br>" +
"httpStatusValue: 404<br>" +
"httpStatusCode: INVALID_DTYPE<br>" +
"message: There is a wrong dtype. You can only use a dtype such as fix or del.<br>")
@PostMapping("api/report/specificStore/v1")
public Result<Long> saveSpecificStoreReport(@Valid @RequestBody SaveSpecificStoreReportRequest saveSpecificStoreReportRequest) {
Long reportId = reportService.saveSpecificStoreReport(saveSpecificStoreReportRequest);
Expand All @@ -55,7 +65,12 @@ public Result<Long> saveSpecificStoreReport(@Valid @RequestBody SaveSpecificStor
"[Request Body]<br>" +
"reportId: 검색할 사용자 제보의 reportId. 유효하지 않은 reportId의 경우 예외 발생<br>" +
"[Response Body]<br>" +
"해당 reportId로 검색된 사용자 제보 내용<br>")
"해당 reportId로 검색된 사용자 제보 내용<br>" +
"[Exceptions]<br>" +
"- 잘못된 reportId가 들어온 경우<br>" +
"httpStatusValue: 404<br>" +
"httpStatusCode: INVALID_REPORT_ID<br>" +
"message: There is a wrong reportId.<br>")
@GetMapping("api/report/byId/v1")
public Result<Report> findById(@NotNull @RequestParam(value = "reportId") Long reportId) {
Report report = reportService.findById(reportId);
Expand Down
100 changes: 92 additions & 8 deletions src/main/java/com/nainga/nainga/domain/store/api/StoreApi.java
Original file line number Diff line number Diff line change
Expand Up @@ -27,18 +27,46 @@ public class StoreApi {
private final GoodPriceGoogleMapStoreService goodPriceGoogleMapStoreService;
private final StoreService storeService;

@Hidden
// @Hidden
@Tag(name = "초기 Data 생성")
@Operation(summary = "모범음식점 데이터 생성", description = "[WARNING] DB에 처음으로 모든 모범음식점 데이터를 주입해주는 API입니다. DB에 엄청난 부하가 가는 작업으로, 합의 없이 실행시켜선 안됩니다!")
@Operation(summary = "모범음식점 데이터 생성", description = "[WARNING] DB에 처음으로 모든 모범음식점 데이터를 주입해주는 API입니다. DB에 엄청난 부하가 가는 작업으로, 합의 없이 실행시켜선 안됩니다!<br><br>" +
"[Request Param]<br>" +
"fileName: 파싱할 모범음식점 데이터 엑셀 파일명<br>" +
"[Response Body]<br>" +
"성공했다면, 200 http status value<br>" +
"[Exceptions]<br>" +
"- Excel 파일 이외의 확장자가 들어왔을 경우<br>" +
"httpStatusValue: 404<br>" +
"httpStatusCode: INVALID_FILE_EXTENSION<br>" +
"message: There are incorrect files. Only the extension of Excel file is allowed.<br>" +
"- Google Map API 연동 과정 중 오류가 발생했을 경우<br>" +
"httpStatusValue: 500<br>" +
"httpStatusCode: GOOGLE_MAP_SERVER_ERROR<br>" +
"message: There are internal server errors related to Google Map API.<br>")
@GetMapping("api/store/mobeom/v1")
public Result<String> createAllMobeomStores(@RequestParam(value = "fileName") String fileName) {
mobeomGoogleMapStoreService.createAllMobeomStores(fileName);
return new Result<>(Result.CODE_SUCCESS, Result.MESSAGE_OK, null);
}

@Hidden
// @Hidden
@Tag(name = "초기 Data 생성")
@Operation(summary = "지정한 Credit까지만 사용하여 모범음식점 데이터 생성", description = "[WARNING] 지정한 Credit까지만 사용하여 그동안 DB에 모범음식점 데이터를 주입해주는 API입니다. DB에 엄청난 부하가 가는 작업으로, 합의 없이 실행시켜선 안됩니다!")
@Operation(summary = "지정한 Credit까지만 사용하여 모범음식점 데이터 생성", description = "[WARNING] 지정한 Credit까지만 사용하여 그동안 DB에 모범음식점 데이터를 주입해주는 API입니다. DB에 엄청난 부하가 가는 작업으로, 합의 없이 실행시켜선 안됩니다!<br><br>" +
"[Request Param]<br>" +
"fileName: 파싱할 모범음식점 데이터 엑셀 파일명<br>" +
"dollars: 현재 API 호출에 사용할 수 있는 남은 달러<br>" +
"startIndex: 엑셀 데이터로부터 추출한 가게 리스트 Index number를 기준으로 조회를 시작할 Index number<br>" +
"[Response Body]<br>" +
"성공했다면, 200 http status value<br>" +
"[Exceptions]<br>" +
"- Excel 파일 이외의 확장자가 들어왔을 경우<br>" +
"httpStatusValue: 404<br>" +
"httpStatusCode: INVALID_FILE_EXTENSION<br>" +
"message: There are incorrect files. Only the extension of Excel file is allowed.<br>" +
"- Google Map API 연동 과정 중 오류가 발생했을 경우<br>" +
"httpStatusValue: 500<br>" +
"httpStatusCode: GOOGLE_MAP_SERVER_ERROR<br>" +
"message: There are internal server errors related to Google Map API.<br>")
@GetMapping("api/store/dividedMobeom/v1")
public Result<CreateDividedMobeomStoresResponse> createDividedMobeomStores(@RequestParam(value = "fileName") String fileName, @RequestParam(value = "dollars") double dollars, @RequestParam(value = "startIndex") int startIndex) {
CreateDividedMobeomStoresResponse response = mobeomGoogleMapStoreService.createDividedMobeomStores(fileName, dollars, startIndex);
Expand All @@ -48,7 +76,20 @@ public Result<CreateDividedMobeomStoresResponse> createDividedMobeomStores(@Requ

@Hidden
@Tag(name = "초기 Data 생성")
@Operation(summary = "안심식당 데이터 생성", description = "[WARNING] DB에 처음으로 모든 안심식당 데이터를 주입해주는 API입니다. DB에 엄청난 부하가 가는 작업으로, 합의 없이 실행시켜선 안됩니다!")
@Operation(summary = "안심식당 데이터 생성", description = "[WARNING] DB에 처음으로 모든 안심식당 데이터를 주입해주는 API입니다. DB에 엄청난 부하가 가는 작업으로, 합의 없이 실행시켜선 안됩니다!<br><br>" +
"[Request Param]<br>" +
"fileName: 파싱할 안심식당 데이터 엑셀 파일명<br>" +
"[Response Body]<br>" +
"성공했다면, 200 http status value<br>" +
"[Exceptions]<br>" +
"- Excel 파일 이외의 확장자가 들어왔을 경우<br>" +
"httpStatusValue: 404<br>" +
"httpStatusCode: INVALID_FILE_EXTENSION<br>" +
"message: There are incorrect files. Only the extension of Excel file is allowed.<br>" +
"- Google Map API 연동 과정 중 오류가 발생했을 경우<br>" +
"httpStatusValue: 500<br>" +
"httpStatusCode: GOOGLE_MAP_SERVER_ERROR<br>" +
"message: There are internal server errors related to Google Map API.<br>")
@GetMapping("api/store/safe/v1")
public Result<String> createAllSafeStores(@RequestParam(value = "fileName") String fileName) {
safeGoogleMapStoreService.createAllSafeStores(fileName);
Expand All @@ -57,7 +98,22 @@ public Result<String> createAllSafeStores(@RequestParam(value = "fileName") Stri

@Hidden
@Tag(name = "초기 Data 생성")
@Operation(summary = "지정한 Credit까지만 사용하여 안심식당 데이터 생성", description = "[WARNING] 지정한 Credit까지만 사용하여 그동안 DB에 안심식당 데이터를 주입해주는 API입니다. DB에 엄청난 부하가 가는 작업으로, 합의 없이 실행시켜선 안됩니다!")
@Operation(summary = "지정한 Credit까지만 사용하여 안심식당 데이터 생성", description = "[WARNING] 지정한 Credit까지만 사용하여 그동안 DB에 안심식당 데이터를 주입해주는 API입니다. DB에 엄청난 부하가 가는 작업으로, 합의 없이 실행시켜선 안됩니다!<br><br>" +
"[Request Param]<br>" +
"fileName: 파싱할 안심식당 데이터 엑셀 파일명<br>" +
"dollars: 현재 API 호출에 사용할 수 있는 남은 달러<br>" +
"startIndex: 엑셀 데이터로부터 추출한 가게 리스트 Index number를 기준으로 조회를 시작할 Index number<br>" +
"[Response Body]<br>" +
"성공했다면, 200 http status value<br>" +
"[Exceptions]<br>" +
"- Excel 파일 이외의 확장자가 들어왔을 경우<br>" +
"httpStatusValue: 404<br>" +
"httpStatusCode: INVALID_FILE_EXTENSION<br>" +
"message: There are incorrect files. Only the extension of Excel file is allowed.<br>" +
"- Google Map API 연동 과정 중 오류가 발생했을 경우<br>" +
"httpStatusValue: 500<br>" +
"httpStatusCode: GOOGLE_MAP_SERVER_ERROR<br>" +
"message: There are internal server errors related to Google Map API.<br>")
@GetMapping("api/store/dividedSafe/v1")
public Result<CreateDividedSafeStoresResponse> createDividedSafeStores(@RequestParam(value = "fileName") String fileName, @RequestParam(value = "dollars") double dollars, @RequestParam(value = "startIndex") int startIndex) {
CreateDividedSafeStoresResponse response = safeGoogleMapStoreService.createDividedSafeStores(fileName, dollars, startIndex);
Expand All @@ -67,7 +123,20 @@ public Result<CreateDividedSafeStoresResponse> createDividedSafeStores(@RequestP

@Hidden
@Tag(name = "초기 Data 생성")
@Operation(summary = "착한가격업소 데이터 생성", description = "[WARNING] DB에 처음으로 모든 착한가격업소 데이터를 주입해주는 API입니다. DB에 엄청난 부하가 가는 작업으로, 합의 없이 실행시켜선 안됩니다!")
@Operation(summary = "착한가격업소 데이터 생성", description = "[WARNING] DB에 처음으로 모든 착한가격업소 데이터를 주입해주는 API입니다. DB에 엄청난 부하가 가는 작업으로, 합의 없이 실행시켜선 안됩니다!<br><br>" +
"[Request Param]<br>" +
"fileName: 파싱할 착한가격업소 데이터 엑셀 파일명<br>" +
"[Response Body]<br>" +
"성공했다면, 200 http status value<br>" +
"[Exceptions]<br>" +
"- Excel 파일 이외의 확장자가 들어왔을 경우<br>" +
"httpStatusValue: 404<br>" +
"httpStatusCode: INVALID_FILE_EXTENSION<br>" +
"message: There are incorrect files. Only the extension of Excel file is allowed.<br>" +
"- Google Map API 연동 과정 중 오류가 발생했을 경우<br>" +
"httpStatusValue: 500<br>" +
"httpStatusCode: GOOGLE_MAP_SERVER_ERROR<br>" +
"message: There are internal server errors related to Google Map API.<br>")
@GetMapping("api/store/goodPrice/v1")
public Result<String> createAllGoodPriceStores(@RequestParam(value = "fileName") String fileName) {
goodPriceGoogleMapStoreService.createAllGoodPriceStores(fileName);
Expand All @@ -76,7 +145,22 @@ public Result<String> createAllGoodPriceStores(@RequestParam(value = "fileName")

@Hidden
@Tag(name = "초기 Data 생성")
@Operation(summary = "지정한 Credit까지만 사용하여 착한가격업소 데이터 생성", description = "[WARNING] 지정한 Credit까지만 사용하여 그동안 DB에 착한가격업소 데이터를 주입해주는 API입니다. DB에 엄청난 부하가 가는 작업으로, 합의 없이 실행시켜선 안됩니다!")
@Operation(summary = "지정한 Credit까지만 사용하여 착한가격업소 데이터 생성", description = "[WARNING] 지정한 Credit까지만 사용하여 그동안 DB에 착한가격업소 데이터를 주입해주는 API입니다. DB에 엄청난 부하가 가는 작업으로, 합의 없이 실행시켜선 안됩니다!<br><br>" +
"[Request Param]<br>" +
"fileName: 파싱할 착한가격업소 데이터 엑셀 파일명<br>" +
"dollars: 현재 API 호출에 사용할 수 있는 남은 달러<br>" +
"startIndex: 엑셀 데이터로부터 추출한 가게 리스트 Index number를 기준으로 조회를 시작할 Index number<br>" +
"[Response Body]<br>" +
"성공했다면, 200 http status value<br>" +
"[Exceptions]<br>" +
"- Excel 파일 이외의 확장자가 들어왔을 경우<br>" +
"httpStatusValue: 404<br>" +
"httpStatusCode: INVALID_FILE_EXTENSION<br>" +
"message: There are incorrect files. Only the extension of Excel file is allowed.<br>" +
"- Google Map API 연동 과정 중 오류가 발생했을 경우<br>" +
"httpStatusValue: 500<br>" +
"httpStatusCode: GOOGLE_MAP_SERVER_ERROR<br>" +
"message: There are internal server errors related to Google Map API.<br>")
@GetMapping("api/store/dividedGoodPrice/v1")
public Result<CreateDividedGoodPriceStoresResponse> createDividedGoodPriceStores(@RequestParam(value = "fileName") String fileName, @RequestParam(value = "dollars") double dollars, @RequestParam(value = "startIndex") int startIndex) {
CreateDividedGoodPriceStoresResponse response = goodPriceGoogleMapStoreService.createDividedGoodPriceStores(fileName, dollars, startIndex);
Expand Down

0 comments on commit 219b094

Please sign in to comment.