Cách triển khai phương thức GET trong API web


Trong bài viết này, tôi sẽ thảo luận về cách triển khai Phương thức GET trong Ứng dụng API Web với một ví dụ. Vui lòng đọc bài viết trước của chúng tôi, nơi chúng tôi đã thảo luận về Trình định dạng loại phương tiện trong API Web với các ví dụ. Là một phần của bài viết này, chúng tôi sẽ thảo luận về các gợi ý sau.
  1. Hiểu hoạt động của CRUD.
  2. Hiểu động từ yêu cầu, tiêu đề yêu cầu, phần yêu cầu, phần phản hồi và mã trạng thái phản hồi trong API Web.
  3. Tạo lược đồ cơ sở dữ liệu trong SQL Server với dữ liệu thử nghiệm.
  4. Sử dụng Entity Framework để tương tác với cơ sở dữ liệu.
  5. Làm cách nào để triển khai phương thức GET trong ASP.NET Web API?
  6. Kiểm tra phương pháp nhận API Web bằng Fiddler.
Hiểu hoạt động của CRUD.
Nói chung, khi chúng ta nói về một bảng cơ sở dữ liệu, có bốn hoạt động (được gọi là Hoạt động CRUD) mà chúng tôi thực hiện trên đó. Họ là như sau
  1. C - Create Tạo một hàng,
  2. R - Read  Đọc một hàng,
  3. U - Update Cập nhật một hàng 
  4. D - Delete Xóa một hàng
Từ ngữ cảnh của tài nguyên API Web ASP.NET, bốn hành động trên ( Đọc, Tạo, Cập nhật và Xóa ) tương ứng với các phương thức GET, POST, PUT và DELETE tương ứng. Hãy để chúng tôi hiểu một số khái niệm cần thiết để hiểu các động từ HTTP.
Request Vers (GET, POST, DELETE)
Chúng mô tả những gì nên được thực hiện với tài nguyên.
Request Header
Khi một khách hàng gửi yêu cầu đến máy chủ, yêu cầu đó chứa một tiêu đề và phần thân. Phương thức yêu cầu chứa thông tin bổ sung, chẳng hạn như - loại phản hồi nào được yêu cầu. Ví dụ: Phản hồi phải ở dạng XML, JSON hoặc một số định dạng khác.
Request Body
Phần thân yêu cầu chứa dữ liệu mà chúng tôi muốn gửi đến máy chủ. Ví dụ: một yêu cầu bài đăng chứa dữ liệu cho một mục mới mà chúng tôi muốn tạo. Định dạng dữ liệu có thể bằng XML hoặc JSON
Response Body
Phần thân phản hồi chứa dữ liệu của phản hồi từ máy chủ. Ví dụ: nếu yêu cầu dành cho một nhân viên cụ thể, cơ quan phản hồi bao gồm các chi tiết nhân viên bằng XML, JSON, v.v.
Response Status Code
Mã trạng thái phản hồi không là gì ngoài mã trạng thái HTTP, đặc biệt cung cấp trạng thái phản hồi cho máy khách. Một số mã trạng thái phổ biến là 404 không tìm thấy, 200 OK, 204 Không có nội dung, 500 Lỗi máy chủ nội bộ, v.v.
Sử dụng SQL Script bên dưới để tạo và điền vào bảng cơ sở dữ liệu cần thiết với một số dữ liệu thử nghiệm. Kịch bản dưới đây
  1. Tạo cơ sở dữ liệu có tên WEBAPI_DB
  2. Tạo bảng Nhân viên và điền vào đó một số dữ liệu thử nghiệm
  • CREATE DATABASE WEBAPI_DB
  • GO
  • USE WEBAPI_DB
  • GO
  • CREATE TABLE Employees
  • (
  • ID int primary key identity,
  • FirstName nvarchar(50),
  • LastName nvarchar(50),
  • Gender nvarchar(50),
  • Salary int
  • )
  • GO
  • INSERT INTO Employees VALUES ('Pranaya', 'Rout', 'Male', 60000)
  • INSERT INTO Employees VALUES ('Anurag', 'Mohanty', 'Male', 45000)
  • INSERT INTO Employees VALUES ('Preety', 'Tiwari', 'Female', 45000)
  • INSERT INTO Employees VALUES ('Sambit', 'Mohanty', 'Male', 70000)
  • INSERT INTO Employees VALUES ('Shushanta', 'Jena', 'Male', 45000)
  • INSERT INTO Employees VALUES ('Priyanka', 'Dewangan', 'Female', 30000)
  • INSERT INTO Employees VALUES ('Sandeep', 'Kiran', 'Male', 45000)
  • INSERT INTO Employees VALUES('Shudhansshu', 'Nayak', 'Male', 30000)
  • INSERT INTO Employees VALUES ('Hina', 'Sharma', 'Female', 35000)
  • INSERT INTO Employees VALUES ('Preetiranjan', 'Sahoo', 'Male', 80000)
  • GO
Lấy các bản ghi: SELECT * FROM Employees sẽ cho kết quả như sau
triển khai Phương thức GET trong WEB API

Tạo một dự án API Web ASP.NET mới
Mở Visual Studio và chọn File - New - Project như hình bên dưới
triển khai Phương thức GET trong WEB API
Từ cửa sổ của New New Project , từ cửa sổ bên trái, chọn bầu chọn Visual Visual C # , nằm trong phần Cài đặt - Các mẫu . Tương tự, from khung giữa sẽ chọn  Ứng dụng web ASP.NET và  sau đó cung cấp tên của dự án với tên là EmployeeService dịch vụ . Cuối cùng, nhấp vào nút OK OK ngay như trong hình bên dưới.
triển khai Phương thức GET trong WEB API
Khi chúng tôi nhấp vào nút OK, một hộp thoại mới sẽ bật lên với Tên Dự án ASP.NET Mới để chọn Mẫu dự án.
triển khai Phương thức GET trong WEB API
Trong hộp thoại này, chúng tôi sẽ chọn mẫu dự án API Web và nhấp vào nút OK . Tại thời điểm này, bạn nên tạo dự án API Web.
Thêm mô hình dữ liệu thực thể ADO.NET để lấy dữ liệu từ cơ sở dữ liệu
Nhấp chuột phải vào mô hình thư mục và sau đó chọn Add - New Item  tùy chọn mà sẽ mở Add New Item cửa sổ và từ “ Add New Item ” cửa sổ chọn “ dữ liệu ” tùy chọn từ khung bên trái và từ phần giữa của panel chọn  ADO. Mô hình dữ liệu thực thể NET. Trong hộp văn bản Tên, nhập EmployeeDataModel và cuối cùng nhấp vào nút Thêm  như trong hình dưới đây.
triển khai Phương thức GET trong WEB API
Khi bạn nhấp vào nút Thêm , nó sẽ mở Trình hướng dẫn mô hình dữ liệu thực thể và từ trình hướng dẫn đó, chọn Trình thiết kế EF EF từ cơ sở dữ liệu tùy chọn và nhấp vào nút Next như hiển thị bên dưới.
triển khai Phương thức GET trong WEB API
Trên màn hình tiếp theo, nhấp vào nút New C như thể hiện trong hình ảnh bên dưới
triển khai Phương thức GET trong WEB API
Khi bạn nhấp vào nút Kết nối mới, nó sẽ mở cửa sổ Thuộc tính kết nối . Trên cửa sổ Thuộc tính kết nối , cửa sổ, đặt
  1. Tên máy chủ = cung cấp tên máy chủ
  2. Xác thực = Chọn loại xác thực
  3. Chọn hoặc nhập tên cơ sở dữ liệu =  WEBAPI_DB
  4. Nhấp vào nút OK như hình dưới đây.
triển khai Phương thức GET trong WEB API
Khi bạn nhấp vào nút OK, nó sẽ điều hướng trở lại trình hướng dẫn Chọn kết nối dữ liệu của bạn. Ở đây Sửa đổi Chuỗi kết nối là EmployeeDBContext và nhấp vào nút Tiếp theo như trong hình bên dưới.
triển khai Phương thức GET trong WEB API
Trên màn hình tiếp theo, chọn Entity Framework 6.x như trong hình bên dưới. Bước này có thể là tùy chọn nếu bạn đang sử dụng phiên bản cao hơn của studio hình ảnh.
triển khai Phương thức GET trong WEB API
Trên màn hình Chọn đối tượng và cài đặt cơ sở dữ liệu của bạn, chọn bảng Nhân viên của cơ sở dữ liệu, cung cấp tên không gian tên mô hình và nhấp vào nút Kết thúc như hiển thị bên dưới. 
triển khai Phương thức GET trong WEB API
Khi bạn nhấp vào nút Kết thúc, tệp edmx sau sẽ được  tạo trong thư mục Mô hình như bên dưới.
triển khai Phương thức GET trong WEB API
Thêm Trình điều khiển API Web
Nhấp chuột phải vào thư mục Bộ điều khiển và chọn Tùy chọn Thêm - Bộ điều khiển  , sau đó chọn Bộ điều khiển API Web 2 - Rỗng và nhấp vào nút Thêm Thêm vào như hiển thị bên dưới.
triển khai Phương thức GET trong WEB API
Trên bộ màn hình tiếp theo, Tên Trình điều khiển là Nhân viên Kiểm soát và bấm vào nút Thêm như trong hình dưới đây.
triển khai Phương thức GET trong WEB API
Thực hiện phương thức GET trong ASP.NET Web API:
Sao chép và dán đoạn mã sau vào Emp EmpContCont.cs
  • lớp công khai Nhân viên Trình điều khiển: ApiControll
  • {
  • công khai IEn Countable <Nhân viên> Nhận ( )
  • {
  • bằng cách sử dụng ( EmployeeDBContext dbContext = new EmployeeDBContext ( ) )
  • {
  • trả về dbContext.Emp viên. Danh sách ( ) ;
  • }
  • }
  • Nhân viên công cộng Nhận ( int id )
  • {
  • bằng cách sử dụng ( EmployeeDBContext dbContext = new EmployeeDBContext ( ) )
  • {
  • trả về dbContext.Emp viên. FirstOrDefault ( e => e.ID == id ) ;
  • }
  • }
  • }
Tại thời điểm này khi chúng tôi điều hướng đến  /api/employees,  chúng tôi sẽ thấy tất cả nhân viên và khi chúng tôi điều hướng đến   /api/employees/1,  chúng tôi sẽ thấy tất cả các chi tiết của nhân viên có Id = 1
Chúng ta có hai phương thức get một không có tham số và một có tham số. Bất cứ khi nào chúng ta vượt qua tham số id thì nó sẽ trả về nhân viên có id mà chúng ta đã vượt qua và nếu chúng ta không vượt qua giá trị tham số id thì nó sẽ trả về tất cả các nhân viên.
Hãy xem điều gì sẽ xảy ra khi chúng tôi đưa ra yêu cầu cho một nhân viên có id không tồn tại với một ví dụ.
triển khai Phương thức GET trong WEB API
Ở đây chúng tôi đang cố gắng để có được thông tin chi tiết của một nhân viên có id không tồn tại trong cơ sở dữ liệu. Vì vậy, khi chúng ta nhấp vào nút thực thi, nó sẽ cho chúng ta phản hồi bên dưới.
triển khai Phương thức GET trong WEB API
Hình ảnh trên cho thấy rõ ràng rằng chúng tôi nhận được null là phản hồi và mã trạng thái là 200 OK. Theo tiêu chuẩn của REST khi không tìm thấy vật phẩm, thì nó sẽ trả về 404 Không tìm thấy.
Để đạt được điều này, chúng ta cần sửa đổi Trình điều khiển nhân viên như dưới đây. 
  • public class EmployeesController : ApiController
  • {
  • public HttpResponseMessage Get()
  • {
  • using (EmployeeDBContext dbContext = new EmployeeDBContext())
  • {
  • var Employees = dbContext.Employees.ToList();
  • return Request.CreateResponse(HttpStatusCode.OK, Employees);
  • }
  • }
  • public HttpResponseMessage Get(int id)
  • {
  • using (EmployeeDBContext dbContext = new EmployeeDBContext())
  • {
  • var entity = dbContext.Employees.FirstOrDefault(e => e.ID == id);
  • if(entity != null)
  • {
  • return Request.CreateResponse(HttpStatusCode.OK, entity);
  • }
  • else
  • {
  • return Request.CreateErrorResponse(HttpStatusCode.NotFound,
  • "Employee with ID " + id.ToString() + "not found");
  • }
  • }
  • }
  • }
Tại thời điểm này, khi chúng tôi đưa ra yêu cầu cho một nhân viên có ID = 15 không tồn tại, chúng tôi nhận được 404 cùng với thông báo Nhân viên có Id 15 không được tìm thấy như dưới đây.
triển khai Phương thức GET trong WEB API
Trong bài viết tiếp theo, tôi sẽ thảo luận về cách triển khai phương thức POST trong WEB API. Ở đây, trong bài viết này, tôi cố gắng giải thích Thực hiện Phương thức GET trong WEB API từng bước bằng một ví dụ đơn giản.

Post a Comment

Mới hơn Cũ hơn