Chuyển đến nội dung chính

Bài đăng

Đang hiển thị bài đăng từ Tháng 1, 2025

REPR (Request-Endpoint-Response) Pattern trong .NET

REPR là gì? REPR (đọc là "Reaper") là một mẫu thiết kế API mới, tập trung vào việc tổ chức các endpoint thay vì sử dụng controller truyền thống. Được giới thiệu bởi Steve "ardalis" Smith, REPR giúp cải thiện cách thức tổ chức các endpoint trong API, giúp chúng dễ dàng hơn trong việc tìm kiếm, điều hướng và chỉnh sửa. Với mẫu thiết kế này, mỗi endpoint sẽ được định nghĩa trong một lớp riêng biệt, mỗi lớp sẽ có một phương thức duy nhất để xử lý các yêu cầu đến. Mục tiêu của REPR là tổ chức ứng dụng theo một kiến trúc tập trung vào endpoint, tạo ra ba thành phần chính: Request Endpoint Response Như vậy, khi nhận một yêu cầu từ người dùng, chúng ta sẽ xử lý yêu cầu đó tại endpoint, sau đó trả về một đối tượng response. Phương pháp này giúp quá trình nhận, xử lý và trả về kết quả trở nên đơn giản và rõ ràng hơn. Tại sao cần phải có REPR? Khi phát triển API theo kiến trúc MVC, chúng ta bắt đầu với những controller nhỏ gọn và đơn giản. Tuy nhiên, khi ứng dụng phát triển, c...

Minimal APIs: Tìm hiểu về Minimal Apis - Part 1

Minimal APIs là một tính năng được giới thiệu trong .NET 6, cho phép nhà phát triển tạo các API gọn gàng hơn, dễ đọc hơn, và nhanh chóng bắt đầu hơn so với các cách tiếp cận ASP.NET Core Web API truyền thống. Hãy cùng tìm hiểu Minimal APIs là gì và tại sao nó lại đáng chú ý. Ưu điểm của Minimal APIs Xây dựng các API nhỏ hoặc đơn giản. Đối với các ứng dụng không có nhiều cấu trúc phức tạp. Khi bạn cần prototyping nhanh chóng Khuyết điểm API đơn giản, không yêu cầu nhiều cấu hình. Xây dựng nhanh chóng mà không cần nhiều tài nguyên. Prototype hoặc đáp ứng các nhu cầu testing. Tạo Project Minimal APIs bằng Visual Studio Mở Visual Studio: Chọn phiên bản Visual Studio hỗ trợ .NET 8 trở lên (ví dụ: Visual Studio 2022). Tạo Project mới: Chọn File → New → Project. Trong cửa sổ Create a new project, tìm kiếm ASP.NET Core Empty. Nhấn Next. Cấu hình dự án: Nhập tên dự án và chọn vị trí lưu. Nhấn Next. Chọn Framework: Ở bước Additional information, chọn .NET 8.0 (Long-term support) hoặc phiên b...

Azure Management API: Products - Part 1.2

Product là gì? Trong Azure API Management (APIM), Product là một khái niệm cốt lõi, giúp tổ chức và quản lý các API được cung cấp bởi một tổ chức. Products không chỉ là một nhóm các API mà còn tích hợp với các tính năng quản lý quyền truy cập, chính sách bảo mật, và các gói dịch vụ, tạo điều kiện thuận lợi cho việc quản lý lifecycle của API một cách hiệu quả. Tham khảo thêm về Subscription key: https://nhatkyhoctap.blogspot.com/2025/01/azure-management-api-huong-dan-tao-api.html Hướng dẫn sử dụng Product trong API Giả sử bạn có 2 APIs https://petstore3.swagger.io/api/v3/openapi.json https://petstore.swagger.io/v2/swagger.json Thêm 2 APIs trên tương ứng với suffix cho swagger UI v3 là petstore, v2 là petstorev2 Trong Azure Portal, tìm kiếm và vào API Management Service của bạn. Trong tab Products, chọn + Add Product. Thêm 2 product Swgger Petstore - OpenAPI 3.0 và Swagger Petstore v2 Trong Azure Portal, bạn chọn Subscription, tạo các Subscriptions tương ứng: dev-subscription: scope ...

Azure Management API: Subscription key - Part 1.1

Part 1: https://nhatkyhoctap.blogspot.com/2024/11/azure-management-api-huong-dan-tao-api.html Trong phần này, mình cập nhật lại OpenAPI version 3 so với Part 1 Xem bài viết ở đây để biết được sự khác nhau của OpenAPI version 3 và 2: https://blog.stoplight.io/difference-between-open-v2-v3-v31 API PetStore URL OpenAPI: https://petstore3.swagger.io/api/v3/openapi.json Các endpoint nổi bật: GET /pet/{petId}: Truy vấn thông tin một thú cưng. POST /store/order: Đặt hàng cho thú cưng. GET /user/{username}: Lấy thông tin một người dùng. Bạn có thể test thử API tại đây: https://petstore3.swagger.io/ Tạo API Mới trong Azure API Management Trong Azure Portal, tìm kiếm và vào API Management Service của bạn. Trong tab APIs, chọn + Add API. Chọn OpenAPI Specification trong danh sách các tùy chọn. Ở mục OpenAPI specification, nhập URL https://petstore3.swagger.io/api/v3/openapi.json Điền thông tin API:  Display name: PetStore API. API URL suffix: petstore.  Tags : tổ chức APIs theo...