Làm quen với RESTful API trong .Net Core

Các khái niệm cơ bản gắn liền với API

API là các phương thức, giao thức kết nối với các thư viện và ứng dụng khác. Nó là viết tắt của Application Programming Interface – giao diện lập trình ứng dụng. API cung cấp khả năng cung cấp khả năng truy xuất đến một tập các hàm hay dùng. Và từ đó có thể trao đổi dữ liệu giữa các ứng dụng.

Restful api là gì ?

  • Restful API được hiểu là một tiêu chuẩn được sử dụng để thết kế API cho các ứng dụng website. Nhằm để quản lý các resource web một cách dễ dàng hơn. Có thể nói Restful là một trong những kiểu thiết kế API được các lập trình viên sử dụng khá phổ biến.

  • Theo đó Rest quy định cách sử dụng http method như GET, POST, PUT, DELETE… và cách định dạng URL cho các ứng dụng web.

  • API cũng có thể liên quan đến khung phần mềm : Khung có thể dựa trên một số thư viện triển khai một số API. Nhưng không giống như việc sử dụng API thông thường, quyền truy cập vào hành vi được xây dựng trong khung trung gian bằng cách mở rộng nội dung của nó với các lớp mới cắm vào khung chính nó.

Web API là một trong những công nghệ mới của Microsoft dùng để xây dựng dịch vụ thành phần phân tán. Web API là mô hình dùng để hỗ trợ MVC bao gồm: routing, controller, action result, filter, loc container, model binder, unit test, injection. Bên cạnh đó nó còn hỗ trợ restful đầy đủ các phương thức: Get/Post/put/delete dữ liệu.

Ưu điểm của API

  • Kết nối mọi lúc nhờ vào Internet.
  • Giao tiếp hai chiều phải được xác nhận trong các giao dịch.
  • Vì giao tiếp là API hai chiều nên thông tin rất đáng tin cậy.
  • Cung cấp cấp trải nghiệm thân thiện với người.
  • Cung cấp giải pháp phát triển khi các nhà phát triển tìm thấy cách sử dụng mới để trao đổi API.
  • Cấu hình đơn giản khi được so sánh với WCF.
  • Mã nguồn mở.
  • Hỗ trợ chức năng RESTful một cách đầy đủ.
  • Hỗ trợ đầy đủ các thành phần MVC như: routing, controller, action result, filter, model binder, IoC container, dependency injection, unit test.
  • Khả năng trình diễn cao.

Đối với các website thông thường, chúng ta hoàn toàn có thể tạo ra mà không cần đến 1 API nào cả nhưng nhu cầu hiện nay thì tất cả mọi dịch vụ được tạo ra người dùng không chỉ muốn truy cập trên website mà còn cả nhiều trên nhiều thiết bị của nhiều hệ điều hành khác nhau, để giải quyết các vấn đề này API ngày nhu cầu sử dụng API ngày càng trở nên phổ biến.

Khởi tạo API cơ bản từ Database có sẵn với ASP .NET Core

  • Chuẩn bị: Để làm việc tốt với API trong asp .net core chúng ta sẽ cần các kiến thức nền tảng với C#, ASP .NET Core, SQL Sever.

  • Tạo project như sau:

Ta đã được 1 project ASP .Net Core Với template API.

  • Tiếp theo ta sẽ tạo Databse ApiDemo và bảng Product như sau:

  • Kết nối với Database vừa tạo:

  • Lấy connectionString của Database vừa tạo:

  • Cài các NugetPackage sau:

Microsoft.EntityFrameworkCore.SqlServer
Microsoft.EntityFrameworkCore.Tool
Microsoft.EntityFrameworkCore.Design
  • Cuối cùng ta sẽ vào Tools => Nuget package manager => Package manager console:
  • Chạy câu lệnh như sau để generate Model từ Database có sẵn:
Scaffold-DbContext "{ConnectionString của bạn}" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models

  • Generate Controller các API cớ bản từ template có sẵn:

  • Cuối cùng ta thêm Dependenci Injection cho DbContext của mình trong file StartUp.cs:

  • Khởi chạy chương trình, ở đây mình test với Postman và được kết quả:


Trong bài viết trên mình đã đề cập đến 1 số khái niệm về API cũng như cách thiết kế API đơn giản với ASP .NET Core. Rất mong sự góp ý của các bạn để mình hoàn thiện hơn trong các bài viết tiếp theo ❤️


All Rights Reserved