diff --git a/src/main/java/com/example/gtable/bookmark/controller/BookmarkController.java b/src/main/java/com/example/gtable/bookmark/controller/BookmarkController.java index c806830..9accc28 100644 --- a/src/main/java/com/example/gtable/bookmark/controller/BookmarkController.java +++ b/src/main/java/com/example/gtable/bookmark/controller/BookmarkController.java @@ -26,7 +26,7 @@ public class BookmarkController { private final BookmarkService bookmarkService; - @PostMapping("/{storeId}") + @PostMapping("/create/{storeId}") @Operation(summary = "북마크 생성", description = "특정 주점에 대한 북마크 생성") @ApiResponse(responseCode = "201", description = "북마크 생성") public ResponseEntity createBookmark(@PathVariable Long storeId,@AuthenticationPrincipal CustomOAuth2User customOAuth2User) { diff --git a/src/main/java/com/example/gtable/global/config/SecurityConfig.java b/src/main/java/com/example/gtable/global/config/SecurityConfig.java index f85f5c4..9b2b30a 100644 --- a/src/main/java/com/example/gtable/global/config/SecurityConfig.java +++ b/src/main/java/com/example/gtable/global/config/SecurityConfig.java @@ -57,10 +57,9 @@ public SecurityFilterChain filterChain(HttpSecurity http) throws Exception { "/oauth2/authorization/kakao", // 카카오 로그인 요청 "/login/oauth2/code/**", // 카카오 인증 콜백 "/api/refresh-token", // refresh token (토큰 갱신) - "/stores/**", - "/menus/**", - "/api/users/signup", - "/api/users/login", + "/admin/stores/**", + "/admin/menus/**", + "/admin/users/**", "/swagger-ui/**", "/v3/api-docs/**", "/v3/api-docs.json", diff --git a/src/main/java/com/example/gtable/menu/controller/MenuController.java b/src/main/java/com/example/gtable/menu/controller/MenuController.java index 8f58a98..c7d3e3d 100644 --- a/src/main/java/com/example/gtable/menu/controller/MenuController.java +++ b/src/main/java/com/example/gtable/menu/controller/MenuController.java @@ -14,9 +14,12 @@ import com.example.gtable.menu.dto.MenuCreateResponse; import com.example.gtable.menu.service.MenuService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.responses.ApiResponse; +import io.swagger.v3.oas.annotations.tags.Tag; import jakarta.validation.Valid; import lombok.RequiredArgsConstructor; - +@Tag(name = "Menu API", description = "메뉴 API") @RestController @RequestMapping("/admin/menus") @RequiredArgsConstructor @@ -25,6 +28,8 @@ public class MenuController { private final MenuService menuService; @PostMapping("/create") + @Operation(summary = "메뉴 생성", description = "특정 주점에 대한 메뉴 생성") + @ApiResponse(responseCode = "201", description = "메뉴 생성") public ResponseEntity createMenu(@Valid @RequestBody MenuCreateRequest request) { MenuCreateResponse response = menuService.createMenu(request); @@ -38,6 +43,8 @@ public ResponseEntity createMenu(@Valid @RequestBody MenuCreateRequest reques } @GetMapping("/all-menus/stores/{storeId}") + @Operation(summary = "주점 메뉴 조회", description = "특정 주점에 대한 메뉴 리스트 조회") + @ApiResponse(responseCode = "200", description = "특정 주점에서 등록한 메뉴 리스트 조회") public ResponseEntity getMenusByStoreId(@PathVariable Long storeId) { return ResponseEntity .status(HttpStatus.OK) diff --git a/src/main/java/com/example/gtable/menuImage/controller/MenuImageController.java b/src/main/java/com/example/gtable/menuImage/controller/MenuImageController.java index d2d194b..6ddddc5 100644 --- a/src/main/java/com/example/gtable/menuImage/controller/MenuImageController.java +++ b/src/main/java/com/example/gtable/menuImage/controller/MenuImageController.java @@ -14,8 +14,11 @@ import com.example.gtable.menuImage.dto.MenuImageUploadResponse; import com.example.gtable.menuImage.service.MenuImageService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.responses.ApiResponse; +import io.swagger.v3.oas.annotations.tags.Tag; import lombok.RequiredArgsConstructor; - +@Tag(name = "Menu Image API", description = "메뉴 이미지 API") @RestController @RequestMapping("/admin/menus") @RequiredArgsConstructor @@ -24,6 +27,8 @@ public class MenuImageController { private final MenuImageService menuImageService; @PostMapping("/images/{menuId}") + @Operation(summary = "메뉴 이미지 업로드", description = "특정 주점에 대한 메뉴 이미지 업로드") + @ApiResponse(responseCode = "201", description = "메뉴 이미지 업로드") public ResponseEntity uploadMenuImage( @PathVariable Long menuId, @RequestParam("file") MultipartFile file @@ -40,6 +45,8 @@ public ResponseEntity uploadMenuImage( } @DeleteMapping("/images/{menuImageId}") + @Operation(summary = "업로드한 메뉴 이미지 삭제", description = "특정 주점에 대한 메뉴 이미지 삭제") + @ApiResponse(responseCode = "204", description = "메뉴 이미지 삭제") public ResponseEntity deleteMenuImage(@PathVariable Long menuImageId) { menuImageService.delete(menuImageId); return ResponseEntity diff --git a/src/main/java/com/example/gtable/store/controller/StoreController.java b/src/main/java/com/example/gtable/store/controller/StoreController.java index 44b15cf..620519c 100644 --- a/src/main/java/com/example/gtable/store/controller/StoreController.java +++ b/src/main/java/com/example/gtable/store/controller/StoreController.java @@ -18,9 +18,12 @@ import com.example.gtable.store.dto.StoreUpdateRequest; import com.example.gtable.store.service.StoreService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.responses.ApiResponse; +import io.swagger.v3.oas.annotations.tags.Tag; import jakarta.validation.Valid; import lombok.RequiredArgsConstructor; - +@Tag(name = "Store API", description = "주점 API") @RestController @RequestMapping("/admin/stores") @RequiredArgsConstructor @@ -29,6 +32,8 @@ public class StoreController { private final StoreService storeService; @PostMapping("/create") + @Operation(summary = "주점 생성/등록", description = "신규 주점 등록") + @ApiResponse(responseCode = "201", description = "신규 주점 등록") public ResponseEntity createStore(@Valid @RequestBody StoreCreateRequest request) { StoreCreateResponse response = storeService.createStore(request); @@ -42,6 +47,8 @@ public ResponseEntity createStore(@Valid @RequestBody StoreCreateRequest requ } @GetMapping("/all-stores") + @Operation(summary = "전체 주점 리스트 조회", description = "등록된 전체 주점 리스트 조회") + @ApiResponse(responseCode = "200", description = "전체 주점 리스트 조회") public ResponseEntity getAllStores() { return ResponseEntity .status(HttpStatus.OK) @@ -53,6 +60,8 @@ public ResponseEntity getAllStores() { } @GetMapping("/{storeId}") + @Operation(summary = "특정 주점 조회", description = "특정 주점 1개 조회") + @ApiResponse(responseCode = "200", description = "특정 주점 1개 조회") public ResponseEntity getStoreById(@PathVariable Long storeId) { return ResponseEntity .status(HttpStatus.OK) @@ -64,6 +73,8 @@ public ResponseEntity getStoreById(@PathVariable Long storeId) { } @GetMapping("/search") + @Operation(summary = "특정 주점 검색", description = "특정 주점 검색") + @ApiResponse(responseCode = "200", description = "특정 주점 검색") public ResponseEntity searchStores(@RequestParam("name") String name) { return ResponseEntity .ok() @@ -75,6 +86,8 @@ public ResponseEntity searchStores(@RequestParam("name") String name) { } @PatchMapping("/{storeId}") + @Operation(summary = "특정 주점 정보 수정", description = "특정 주점에 등록한 정보 수정") + @ApiResponse(responseCode = "200", description = "특정 주점에 등록한 정보 수정") public ResponseEntity updateStore( @PathVariable Long storeId, @Valid @RequestBody StoreUpdateRequest request @@ -89,6 +102,8 @@ public ResponseEntity updateStore( } @DeleteMapping("/{storeId}") + @Operation(summary = "특정 주점 정보 삭제", description = "특정 주점 정보 삭제") + @ApiResponse(responseCode = "200", description = "특정 주점 정보 삭제") public ResponseEntity deleteStore(@PathVariable Long storeId) { return ResponseEntity .ok() diff --git a/src/main/java/com/example/gtable/storeImage/controller/StoreImageController.java b/src/main/java/com/example/gtable/storeImage/controller/StoreImageController.java index 7b4491d..bceb31a 100644 --- a/src/main/java/com/example/gtable/storeImage/controller/StoreImageController.java +++ b/src/main/java/com/example/gtable/storeImage/controller/StoreImageController.java @@ -16,8 +16,11 @@ import com.example.gtable.storeImage.dto.StoreImageUploadResponse; import com.example.gtable.storeImage.service.StoreImageService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.responses.ApiResponse; +import io.swagger.v3.oas.annotations.tags.Tag; import lombok.RequiredArgsConstructor; - +@Tag(name = "StoreImage API", description = "주점 이미록 API") @RestController @RequestMapping("/admin/stores") @RequiredArgsConstructor @@ -26,6 +29,8 @@ public class StoreImageController { private final StoreImageService storeImageService; @PostMapping("/store-images/{storeId}") + @Operation(summary = "주점 이미지 등록", description = "주점 이미지 등록") + @ApiResponse(responseCode = "201", description = "주점 이미지 등록") public ResponseEntity uploadStoreImage( @PathVariable Long storeId, @RequestParam("files") List files, @@ -57,6 +62,8 @@ public ResponseEntity uploadStoreImage( } @DeleteMapping("/store-images/{storeImageId}") + @Operation(summary = "주점 이미지 삭제", description = "주점 이미지 삭제") + @ApiResponse(responseCode = "204", description = "주점 이미지 삭제") public ResponseEntity deleteStoreImage(@PathVariable Long storeImageId) { storeImageService.delete(storeImageId); return ResponseEntity