XÂY DỰNG WEB API ENTITY FRAMEWORK

      69

Trong nội dung bài viết này, tôi đang cung ứng giải đáp về cách phát hành REST API bằng ASP..NET bộ vi xử lý Core, liên kết cùng với cơ sở tài liệu hiện nay có bởi Entity Framework Vi xử lý Core cùng bảo mật thông tin API bởi JWT (Json Web Token). Tôi vẫn cải cách và phát triển một ứng dụng REST API mang đến sản phẩm tồn kho cùng với những làm việc cơ bản.

Bạn đang xem: Xây dựng web api entity framework

Bạn vẫn xem: Xây dựng web api entity framework

Lưu ý: Trong khuyên bảo này, tôi sẽ thực hiện ASPhường.NET Chip Core 3.1, Entity Framework Vi xử lý Core 3.1 với Visual Studio 2019 16.4.0, SQL Server 2017 với Postman.

REST API là gì?

Do càng ngày có tương đối nhiều loại ứng dụng client không giống nhau (ứng dụng dành riêng cho máy di động cầm tay, vận dụng SPA dựa trên trình chăm bẵm, áp dụng giành cho máy tính để bàn, áp dụng IOT, v.v.), họ cần những cách tốt rộng để truyền dữ liệu từ bỏ sever đến trang bị khách hàng, ko dựa vào vào technology cùng ngnạp năng lượng xếp sever.

REST API xử lý vụ việc này. REST là viết tắt của đưa trạng thái đại diện thay mặt (REpresentational State Transfer). Các REST API dựa vào HTTPhường. với cung ứng cho những vận dụng tài năng giao tiếp bằng phương pháp thực hiện format JSON dịu. Chúng chạy xe trên máy chủ web.

REST bao hàm các thực thể sau:

Resource: Tài nguyên là những thực thể được định danh tuyệt nhất (ví dụ: dữ liệu trường đoản cú đại lý tài liệu, hình hình họa hoặc ngẫu nhiên tài liệu nào).

Endpoint: Điểm cuối là 1 trong những tài ngulặng hoàn toàn có thể được truy vấn thông sang một URL.

HTTP method: Giao thức HTTPhường là một số loại yêu cầu nhưng đồ vật khách gửi đến máy chủ. Các chuyển động bọn họ tiến hành trên tài nguim nên tuân theo điều đó.

HTTPhường header: Tiêu đề HTTP.. là một trong cặp khóa-quý hiếm được thực hiện để share báo cáo bổ sung cập nhật giữa thứ khách hàng và sever, chẳng hạn như:

Loại tài liệu được gửi mang lại sever (JSON, XML).Loại mã hóa được hỗ trợ bởi vận dụng khách hàng.Mã thông báo liên quan mang đến xác xắn.Dữ liệu người sử dụng dựa vào yêu cầu vận dụng.

Định dạng dữ liệu: JSON là định hình thịnh hành để gửi và dấn tài liệu trải qua các REST API.

JWT là gì?

Trong phần trước, bọn họ vẫn biết REST API là gì, và ở chỗ này bọn họ sẽ coi mã thông tin JWT là gì, và biện pháp bảo mật thông tin cho những REST API.

JWT là viết tắt của JSON Web Token. Nó là tiêu chuẩn chỉnh mở với khẳng định một giải pháp tốt rộng để truyền tài liệu an ninh giữa hai thực thể (thứ khách và thiết bị chủ).

JWT được cam kết năng lượng điện tử bằng khóa kín của phòng cung cấp mã thông báo hoặc máy chủ xác xắn. JWT giúp sever tài nguyên xác minh mã thông tin bằng cùng một khóa kín đáo nhằm bạn cũng có thể tin yêu vào tài liệu.

JWT bao hàm bố phần sau:

Header: Tiêu đề là dữ liệu được mã hóa bởi base64url của loại mã thông báo và thuật toán được áp dụng để ký tài liệu.

Payload: là dữ liệu được mã hóa bởi base64url của các xác thực quyền thiết lập ý định share.

Signature: Chữ cam kết được tạo ra bằng phương pháp mã hóa (Header được mã hóa + Payload được mã hóa) sử dụng khóa bí mật.

Mã thông tin JWT cuối cùng sẽ hệt như sau: Header.Payload.Signature

Bước 1: Khách mặt hàng trải đời mã thông báo

Máy khách gửi đề nghị cho sever tuyệt đối cùng với ban bố quan trọng nhằm chứng minh tính danh của chính nó.

Cách 2: Tạo mã thông báo

Máy nhà xác xắn dấn trải đời mã thông báo với xác minh danh tính. Nếu nó được tra cứu thấy hòa hợp lệ, mã thông tin sẽ được sinh sản (như sẽ giải thích trước đó) cùng với những clalặng quan trọng và mã thông tin JWT sẽ được gửi lại đến đồ vật khách hàng.

Xem thêm: Cách Thêm Ảnh Vào Album Dưới Dạng Bài Post, Cách Thêm Ảnh Vào Album Có Sẵn Trên Facebook

Cách 3: Máy khách gửi mã thông tin cho máy chủ tài nguyên

Cách 4: Máy công ty tài nguim xác minh mã thông báo

Làm theo các bước sau nhằm xác minh mã thông báo:

Đọc mã thông tin trường đoản cú title xác thực.Tách các phần header, payload và signature thoát khỏi mã thông tin.Tạo signature của header với payload đã nhận bằng cách áp dụng cùng một khóa kín được sử dụng Khi tạo mã thông báo.Kiểm tra coi cả chữ ký kết bắt đầu tạo cùng chữ ký kết nhận thấy từ mã thông báo hiện đang có hợp lệ hay không.Nếu những chữ cam kết giống như nhau, những mã thông báo thích hợp lệ (không trở nên chuyển đổi ngơi nghỉ giữa) với bọn chúng cung cấp quyền truy vấn vào tài nguyên ổn được thử dùng.Nếu các chữ ký kết khác nhau, một phản hồi 401 unauthorized sẽ được gửi lại đến lắp thêm khách.

Không chia sẻ thông báo bí mật bởi JWT, vị header cùng payload của JWT có thể được lời giải với có thể xem các đọc tin này.

Phần sau lý giải bí quyết sản xuất REST API cùng bảo mật nó bởi mã thông báo.

Tạo áp dụng ASPhường.NET Core REST API

Làm theo công việc sau nhằm tạo nên vận dụng ASPhường.NET Core vào Visual Studio 2019:

Bước 1: Đi cho tới File > New , tiếp nối lựa chọn Project.

Cách 2: Chọn Create a new project.

Cách 3: Chọn mẫu ASPhường.NET Vi xử lý Core Web Application.

Cách 4: Nhập tên dự án, kế tiếp nhấp vào Create. Hộp thoại Mẫu dự án sẽ được hiển thị.

Cách 5: Chọn .NET bộ vi xử lý Core, ASP.NET bộ vi xử lý Core 3.1 và chủng loại API (được khắc ghi vào phần sau).


*

Bước 6: Nhấp vào Create. Ứng dụng ASP.NET Core API mẫu mã sẽ tiến hành tạo. Xem cấu tạo dự án công trình trong ảnh chụp màn hình hiển thị sau.


*

Theo mặc định, một API chủng loại là WeatherForecast được tạo ra. Chúng ta rất có thể xóa nó.

Cài đặt những gói NuGet buộc phải thiết

Thêm những gói NuGet sau để thao tác làm việc với đại lý dữ liệu Squốc lộ Server bằng phương pháp chạy các lệnh sau trong Package Manager Console (Nhấp vào Tools -> NuGet Package Manager -> Package Manager Console).

Gói này góp chế tạo ra cỗ điều khiển và cơ chế xem.

Install-Package Microsoft.VisualStudio.Web.CodeGeneration.Design -Version 3.1.4Gói này góp chế tác ngữ cảnh cơ sở dữ liệu và những lớp mô hình từ cửa hàng dữ liệu.

Install-Package Microsoft.EntityFrameworkbộ vi xử lý Core.Tools -Version 3.1.8Nhà cung cấp cơ sở dữ liệu chất nhận được Entity Framework Chip Core vận động với SQL Server.

Install-Package Microsoft.EntityFrameworkCore.SqlServer -Version 3.1.8Nó hỗ trợ cung cấp để tạo thành cùng xác thực mã thông tin JWT.

Install-Package System.IdentityModel.Tokens.Jwt -Version 5.6.0Đây là ứng dụng trung gian cho phép vận dụng ASP.NET Chip Core nhấn mã thông báo sở hữu trong đường truyền những hiểu biết.

Lưu ý: phiên bản của các gói NuGet rất có thể mới rộng khi chúng ta làm theo trả lời này.

Tạo đại lý dữ liệu với liên kết nó cùng với ứng dụng

Tôi mong muốn bạn vẫn setup Squốc lộ Server 2017 vào máy của bản thân mình. (quý khách hàng cũng hoàn toàn có thể áp dụng SQL Server 2008, 2012 hoặc 2016.)

tinh dầu vape, pod 1 lần