CRUD VỚI ASP.NET WEB API VÀ TEST BẰNG POSTMAN

Nội dung bài viết:

+ ASP.NET Web Api là gì? + ASP.Net Web Api Routing + HttpResponseMessage là gì? + CRUD – Create, Retrieve, Update, Delete +Test Web API sử dụng Postman

I. ASP.Net Web API là gì?

API=Application Programming Interface ASP.Net Web Api là một framework, được tạo ra để chia sẻ và thu thập dữ liệu. ASP.NET Web API là một framework cho phép xây dựng các dịch vụ dựa trên HTTP mà có thể được truy xuất từ nhiều ứng dụng trên các nền tảng khác nhau như windows, web hay mobile, v.v… Chúng ta sẽ không đi sâu về vấn đề này các bạn có thể tìm hiểu chi tiết hơn tại :  https://en.wikipedia.org/wiki/Web_API và https://en.wikipedia.org/wiki/Representational_state_transfer

II. Tạo Project, thực hiện các chức năng CRUD và test bằng Postman

  • Tạo Project
Chọn File->New Project ->Asp.net Web Application
tạo project web
Điền tên solution “MISA.CrudApi” và chọn nơi lưu , chọn .NET Framework phiên bản mới nhất rồi nhấn “OK”
tạo project WebApi
Cửa sổ mới hiện ra, chúng ta tích chọn vào Web API và nhấn “OK”

*ASP.NET Web API Routing

  • Sau khi tạo xong project ta có thể thấy trong thư mục Controllers có 2 class là HomeController và ValuesController. HomeController là controller thông thường như trong các project Asp.Net MVC.ValuesController là một API controller mặc định được tạo sẵn. Chúng ta sẽ tìm hiểu trong đó có gì nhé
ValuesController
Các phương thức trong đây có tên bắt đầu là tên của các phương thức HTTP mà ta đã biết : GET, POST, PUT, DELETE. Bên trên các phương thức có các comment là các định tuyến cho phép ta test api. ASP.NET Web API hỗ trợ định tuyến. Định tuyến API Web tương tự như định tuyến phương thức hành động ASP.NET MVC. Để định cấu hình định tuyến mới cho ASP.NET Web API, có một tệp có tên là Web WebApiConfig.cs, nằm trong thư mục App_Start trong đường dẫn gốc của dự án. Bạn có thể tạo nhiều định tuyến theo nhu cầu dự án của bạn trong tệp webapiconfig.cs.
webapiconfig
  • Bây giờ chúng ta sẽ tạo một cơ sở dữ liệu gồm 2 bảng Product và CategoryOfProduct
Cơ sở dữ liệu
Sau đó ta thêm một vài dữ liệu vào 2 bảng, Thực hiện kết nối cơ sở dữ liệu vào project sử dụng Entity Framework Code Fist. Chuột phải vào thư mục Models, chọn Add->New Item.Chọn ADO.NET Entity Data Model và đặt tên là ProductManageContext
Sử dụng Entity Framework Code First
Sử dụng Entity Framework Code First
Sử dụng Entity Framework Code First
Sử dụng Entity Framework Code First
Sử dụng Entity Framework Code First
Sử dụng Entity Framework Code First
Sau khi xong, chúng ta thêm class ProductViewModel.cs vào thư mục Models

*Thêm API Controller mới

Thêm API
Chuột phải vào thư mục Controllers, chọn add-> Controller ->Web API 2 Controller-Empty
Đặt tên là Product Controller và OK ProductController.cs code
ProductController
ProductController
ProductController
ProductController
ProductController
Các phương thức CRUD trong ProductController Các phương thức đều trả về các HTTP ResponseMessage. Nó giúp người thực hiện test API dễ dàng hơn trong việc kiểm tra. Trên đây tôi sử dụng Request.CreateResponse và truyền vào các tham số để trả về kết quả dạng  {status: , message: , result: }. Thành công {status = 200, message=”successful”,result= 1 hoặc danh sách các sản phẩm } và thất bại {status=404, message=”failed”,result=0}.

*TEST API sử dụng Postman

Bây giờ chúng ta sẽ thực hiện test API bằng Postman. Chạy chương trình, copy URL http://localhost:xxxxx và dán vào thanh Url trong Postman

1. Đưa ra danh sách các sản phẩm

Mở Postman (google cách tải nhé ) ra và thêm đằng sau url đoạn sau /api/Product  và chọn phương thức HTTP là GET sau đó nhấn Send
Sử dụng postman
Kết quả sẽ được như hình trên Ta đi thực hiện tìm sản phẩm có id bằng 5
Sử dụng postman

2. Thêm một sản phẩm mới

Chọn HTTP Post. Chuyển sang tab Body và nhập nội dung như hình sau. Sau đó nhấn Send
Sử dụng postman
Sử dụng postman
Chuyển sang tab Headers Để kiểm tra xem ta đã thực sự them mới một sản phẩm chưa, ta lại chọn HTTP GET và nhấn Send để xem kết quả thôi nào

3. Chỉnh sửa một sản phẩm

Chúng ta copy một sản phẩm bất kì, dán sang tab Body và chỉnh sửa tên của nó, ở đây tôi sửa “Lợn ngủ say”-> “Lợn quay” sau đó nhấn send. Sau khi thực hiện xong , ta thực hiện GET lại danh sách sản phẩm để thấy kết quả
Sử dụng postman
Sử dụng postman

4. Xóa 1 sản phẩm

Chọn HTTP Delete và them id sản phẩm cần xóa và thực hiện GET lại list để xem kết quả
Sử dụng postman
Sử dụng postman

III. Tổng kết

Hi vọng sau bài này các bạn có thể thực hiện các thao tác CRUD trong ASP.NET Web API và kiểm thử với Postman một cách hiệu quả, nắm được những kiến thức tổng quan về web api.