diff --git a/WebAPI/Controllers/BookController.cs b/WebAPI/Controllers/BookController.cs
index 7760da0992a6fddd17f321acaafda4b6eeb60edc..3066f57b4a5b525e5b4804cc8600edb712900824 100644
--- a/WebAPI/Controllers/BookController.cs
+++ b/WebAPI/Controllers/BookController.cs
@@ -53,14 +53,28 @@ namespace WebAPI.Controllers
         [Route("{id}")]
         public async Task<IActionResult> GetBook(int id)
         {
-            var book = await GetBookById(id);
+            var book = await _dbContext.Books
+                .AsNoTracking()
+                .FirstOrDefaultAsync(b => b.Id == id);
 
             if (book == null)
             {
-                return BadRequest("Book was not found.");
+                return NotFound("Book was not found.");
             }
 
-            return Ok(book);
+            var bookDTO = new BookDTO
+            {
+                Name = book.Name,
+                Genre = book.Genre,
+                Publisher = book.Publisher,
+                PublishYear = book.PublishYear,
+                Description = book.Description,
+                PageNumber = book.PageNumber,
+                Price = book.Price,
+                AuthorId = book.AuthorId
+            };
+
+            return Ok(bookDTO);
         }
 
         [HttpPost]
@@ -84,12 +98,11 @@ namespace WebAPI.Controllers
                 AuthorId = model.AuthorId
             };
 
-            _dbContext.Books
-                .Add(new_book);
+            _dbContext.Books.Add(new_book);
 
             await _dbContext.SaveChangesAsync();
 
-            return Ok(new_book);
+            return Ok("New book added.");
         }
 
         [HttpPut]
@@ -117,12 +130,11 @@ namespace WebAPI.Controllers
             book.Price = model.Price;
             book.AuthorId = model.AuthorId;
 
-            _dbContext.Books
-                .Update(book);
+            _dbContext.Books.Update(book);
 
             await _dbContext.SaveChangesAsync();
 
-            return Ok(book);
+            return Ok("Book updated.");
         }
 
         [HttpDelete]
@@ -141,17 +153,23 @@ namespace WebAPI.Controllers
                 return BadRequest("Book was not found.");
             }
 
-            _dbContext.Books
-                .Remove(book);
+            _dbContext.Books.Remove(book);
 
             await _dbContext.SaveChangesAsync();
 
-            return Ok();
+            return Ok("Book was deleted.");
         }
 
         [HttpGet]
         [Route("filter")]
-        public async Task<IActionResult> FilterBooks(string? name, string? description, decimal? minPrice, decimal? maxPrice, BookGenre? genre, int? authorId)
+        public async Task<IActionResult> FilterBooks(
+        string? name,
+        string? description,
+        decimal? minPrice,
+        decimal? maxPrice,
+        BookGenre? genre,
+        int? authorId,
+        string? publisher)
         {
             var query = _dbContext.Books.AsQueryable();
 
@@ -185,6 +203,11 @@ namespace WebAPI.Controllers
                 query = query.Where(book => book.AuthorId == authorId);
             }
 
+            if (!string.IsNullOrWhiteSpace(publisher))
+            {
+                query = query.Where(book => book.Publisher.Contains(publisher));
+            }
+
             var filteredBooks = await query.ToListAsync();
 
             if (!filteredBooks.Any())
diff --git a/WebAPI/Controllers/ReviewController.cs b/WebAPI/Controllers/ReviewController.cs
index 0f05d875bf789546c0551f4c13d905153098882a..9958f6ef142dea9bcadea5aa5e6a89abbaf05c04 100644
--- a/WebAPI/Controllers/ReviewController.cs
+++ b/WebAPI/Controllers/ReviewController.cs
@@ -66,20 +66,6 @@ namespace WebAPI.Controllers
             return Ok(reviewDTO);
         }
 
-        [HttpDelete]
-        [Route("{id}/delete")]
-        public async Task<IActionResult> DeleteReview(int id)
-        {
-            var review = await _dbContext.Reviews.FindAsync(id);
-            if (review == null)
-                return NotFound("Review not found.");
-
-            _dbContext.Reviews.Remove(review);
-            await _dbContext.SaveChangesAsync();
-
-            return Ok("Review deleted.");
-        }
-
         [HttpPost]
         [Route("create")]
         public async Task<IActionResult> AddReview([FromBody] ReviewDTO reviewModel)
@@ -123,5 +109,19 @@ namespace WebAPI.Controllers
 
             return Ok("Review updated.");
         }
+
+        [HttpDelete]
+        [Route("{id}/delete")]
+        public async Task<IActionResult> DeleteReview(int id)
+        {
+            var review = await _dbContext.Reviews.FindAsync(id);
+            if (review == null)
+                return NotFound("Review not found.");
+
+            _dbContext.Reviews.Remove(review);
+            await _dbContext.SaveChangesAsync();
+
+            return Ok("Review deleted.");
+        }
     }
 }