Định nghĩa các yêu cầu được xử lí như thế nào với middleware và endpoints (tiếp tục)
Middleware routing và endpoint làm việc cặp đôi với nhau, sử dụng tập các endpoints định nghĩa cho ứng dụng của
bạn. Trong code trên, chúng ta định nghĩa 2 endpoints:
app.MapGet(“/”, () => “Hello World!”);
app.MapGet(“/person”, () => new Person(“Andrew”, “Lock”));
Bạn đã thấy endpoint “Hello World!” mặc định. Khi bạn gửi một yêu cầu GET tới /, routing middleware chọn
“Hello World!” endpoint. Yêu cầu tiếp tục đi xuống trong middleware pipeline cho đến khi nó đi đến endpoint
middleware, cái thực thi lambda và trả về giá trị string trong body trả lời.
Endpoint khác định nghĩa một lambda để chạy cho các yêu cầu GET tới đường dẫn /person, nhưng nó trả về một
bản ghi C# thay vì một string. Khi bạn trả về một C# object từ một minimal API endpoint, object được chuỗi
hóa thành JSON tự động và trả về trong body trả lời, như bạn thấy ảnh trên. Trong các học phần sau, bạn sẽ
học làm cách nào phù hợp hóa theo yêu cầu trả lời này, cũng như trả về các dạng khác của trả lời.
Và ở đó bạn có nó. Bạn vừa hoàn thành tour ứng dụng ASP.NET Core đầu tiên của bạn. Trước khi bạn di chuyển
tiếp, hãy nhìn cái nhìn cuối làm cách nào ứng dụng của chúng ta xử lí một yêu cầu. Ảnh dưới thể hiện một
yêu cầu tới đường dẫn /person được xử lí bởi ứng dụng mẫu. Bạn vừa thấy mọi thứ đã ở đây, nên quá trình
xử lí một yêu cầu đã quen thuộc. Ảnh thể hiện làm cách nào yêu cầu truyền qua middleware pipeline trước khi
được xử lí bởi endpoint middleware. Endpoint thực thi phương thức lambda và khởi tạo trả lời JSON, cái truyền
quay trở lại qua middleware tới máy chủ web ASP.NET Core trước khi được gửi tới trình duyệt người dùng.
Hành trình khá là sâu, nhưng bạn đã có cái nhìn khái quát tốt về toàn bộ ứng dụng được cấu hình như thế nào
và nó xử lí như thế nào một yêu cầu bằng cách sử dụng minimal API. Trong các học phần sau, bạn sẽ có cái
nhìn gần hơn vào middleware pipeline cái tồn tại trong tất cả các ứng dụng ASP.NET Core. Bạn sẽ học nó được
cấu thành như thế nào, làm cách nào bạn có thể sử dụng nó để thêm chức năng vào ứng dụng của bạn, và làm cách nào
bạn có thể sử dụng nó để tạo các HTTP services đơn giản.