Skip to content

About

API đơn giản với ASP.NET và MongoDB

Resources

Stars

0 stars

Watchers

1 watching

Forks

Latest commit

 

History

6 Commits

Folders and files

Repository files navigation

Mô tả

Bài tập này sử dụng framework ASP.NET để tạo một API đơn giản thực hiện các thao tác CRUD trên cơ sở dữ liệu MongoDB về cửa hàng sách (BookStore): thêm/sửa/xóa, truy xuất thông tin về sách (Book).

Triển khai chương trình

Dữ liệu ban đầu

Database BookStore có một collection Book, trong đó gồm 2 document với dữ liệu như bên dưới:

{
  "_id": {
    "$oid": "678cb0da5c81dae26a7da41a"
  },
  "Name": "Design Patterns",
  "Price": 54.93,
  "Category": "Computers",
  "Author": "Ralph Johnson"
}

{
  "_id": {
    "$oid": "678cb0da5c81dae26a7da41b"
  },
  "Name": "Clean Code",
  "Price": 43.15,
  "Category": "Computers",
  "Author": "Robert C. Martin"
}

Thiết kế và bổ sung

Phần code được thực hiện như trong hướng dẫn nhưng có bổ sung thêm validation để tránh cho dữ liệu bị sai sót. Validation đặt trong controller ở phương thức thêm và sửa document để đảm bảo một đầu sách được thêm hoặc sửa (newBook) phải có giá bán lớn hơn 0 và không trùng tiêu đề với bất kỳ đầu sách nào khác đang có trong cơ sở dữ liệu.

if (currentBooks.Exists(book => book.BookName == newBook.BookName.Trim())
    || newBook.Price <= 0)
{
    return BadRequest();
}

Kết quả đạt được

  • Lấy danh sách Book từ database (GET)

    image

  • Thêm một Book vào database (POST)

    • Dữ liệu hợp lệ
      {
        "Id": "678cb0da5c81dae26a7da41c",
        "Name": "Service Architecture",
        "Price": 38.77,
        "Category": "Computers",
        "Author": "Vo Van Hai"
      }
      
      image
    • Sách có giá dưới 0
      {
        "Id": "678cb0da5c81dae26a7da41d",
        "Name": "Algorithms",
        "Price": -55.16,
        "Category": "Computers",
        "Author": "Donald Knuth"
      }
      
      image
  • Lấy một Book theo ID (GET)

    image image

  • Sửa thông tin một Book (PUT)

    • Dữ liệu hợp lệ
      {
        "Id": "678cb0da5c81dae26a7da41c",
        "Name": "Web Services",
        "Price": 50.24,
        "Category": "Computers",
        "Author": "Vo Van Hai"
      }
      
      image image
    • Sách trùng tên
      {
        "Id": "678cb0da5c81dae26a7da41c",
        "Name": "Design Patterns",
        "Price": 50.24,
        "Category": "Computers",
        "Author": "Vo Van Hai"
      }
      
      image
  • Xóa một Book (DELETE)

    image

    Sau khi xóa, nếu gửi lại request PUT theo ID sách đã xóa thì response có mã 404 (Not Found).

    image

Ghi chú

Mã nguồn được tham khảo theo hướng dẫn của Microsoft.

About

API đơn giản với ASP.NET và MongoDB

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages