From dead7ed908776397cfc9701a9d990732152477f7 Mon Sep 17 00:00:00 2001 From: scarf Date: Sun, 15 Dec 2024 17:34:39 +0900 Subject: [PATCH] =?UTF-8?q?fix:=20book=20=EA=B2=BD=EB=A1=9C=20id=20?= =?UTF-8?q?=EA=B2=80=EC=82=AC=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/src/books/books.controller.ts | 11 ++++++----- backend/src/books/dto/books.dto.ts | 1 + 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/backend/src/books/books.controller.ts b/backend/src/books/books.controller.ts index 4dc53dd..69d6b79 100644 --- a/backend/src/books/books.controller.ts +++ b/backend/src/books/books.controller.ts @@ -27,6 +27,7 @@ import { CreateBookCopyResponseDto, BookCopySearchResponseDto, UpdateBookRequestDto, + BookIDDto, } from './dto/books.dto'; import { PaginationOptionsDto } from 'src/common/dtos/page-options.dto'; @@ -77,7 +78,7 @@ export class BooksController { description: '도서 상세 정보 조회 성공', type: BookDetailResponseDto, }) - async findOne(@Param('id') id: number): Promise { + async findOne(@Param() { id }: BookIDDto): Promise { const book = await this.booksService.findOne(id); if (!book) { throw new NotFoundException(`Book with ID ${id} not found`); @@ -95,7 +96,7 @@ export class BooksController { type: CreateBookCopyResponseDto, }) async createCopy( - @Param('id') id: number, + @Param() { id }: BookIDDto, @Body() createBookCopyDto: CreateBookCopyRequestDto, ): Promise { return this.booksService.createCopy(id, createBookCopyDto); @@ -110,7 +111,7 @@ export class BooksController { type: BookCopySearchResponseDto, }) async findCopies( - @Param('id') id: number, + @Param() { id }: BookIDDto, ): Promise { return this.booksService.findCopies(id); } @@ -125,7 +126,7 @@ export class BooksController { type: BookDto, }) async update( - @Param('id') id: number, + @Param() { id }: BookIDDto, @Body() updateBookDto: UpdateBookRequestDto, ): Promise { return this.booksService.update(id, updateBookDto); @@ -138,7 +139,7 @@ export class BooksController { status: 204, description: '도서 삭제 성공', }) - async remove(@Param('id') id: number): Promise { + async remove(@Param() { id }: BookIDDto): Promise { await this.booksService.remove(id); } } diff --git a/backend/src/books/dto/books.dto.ts b/backend/src/books/dto/books.dto.ts index 311c57f..dec9105 100644 --- a/backend/src/books/dto/books.dto.ts +++ b/backend/src/books/dto/books.dto.ts @@ -79,6 +79,7 @@ export class CategoryCountDto extends createZodDto(categoryCountSchema) {} export class BookDto extends createZodDto(bookSchema) {} export class CategoryDto extends createZodDto(categorySchema) {} export class BookCopyDto extends createZodDto(bookCopySchema) {} +export class BookIDDto extends createZodDto(bookSchema.pick({ id: true })) {} export class BookSearchResultDto extends createZodDto(bookSearchResultSchema) {} export class BookGetResponseDto extends createZodDto(bookGetResponseSchema) {} export class BookDetailResponseDto extends createZodDto(