sách gpt4 ăn đã đi

Làm cách nào để sử dụng `MasaMiniApi` trong dự án hiện tại?

In lại Tác giả: Tôi là chú chim nhỏ Thời gian cập nhật: 2023-04-19 06:31:27 25 4
mua khóa gpt4 giày nike

Trước hết, chúng tôi đã tạo một mẫu dự án WebApi trống. Mẫu dự án này không có kết nối với chính MasaFramework. Blog của chúng tôi chỉ sử dụng gói MiniApi của MasaFramework.

  1. tạo nên Asp.NET Core trống mẫu dự án

  1. Tên dự án MFMiniApi

  1. Xem hình ảnh để biết thông tin khác, hủy bỏ Https Cấu hình, bạn cũng có thể chọn,

  1. Đây là một mẫu dự án trống.

  2. Cài đặt Masa MiniApi.

    Tìm kiếm Masa.Contrib.Service.MinimalAPIs. Vui lòng chú ý chọn phiên bản phát hành. Vì 1.0 chưa được phát hành nên trước tiên hãy sử dụng phiên bản xem trước.

  1. Cài đặt Swagger.

    Tìm kiếm Swashbuckle.AspNetCore và cài đặt nó.

  2. Sử dụng MasaMiniApi.

    Sửa đổi mã Program.cs.

                                
                                  sử dụng Microsoft.OpenApi.Models; var builder = WebApplication.CreateBuilder(args); builder.Services.AddEndpointsApiExplorer(); builder.Services.AddSwaggerGen(tùy chọn => { tùy chọn.SwaggerDoc("v1", new OpenApiInfo { Tiêu đề = "API của tôi", Phiên bản = "v1" }); }); var app = builder.AddServices(); app.UseSwagger(); app.UseSwaggerUI(tùy chọn => { tùy chọn.SwaggerEndpoint("/swagger/v1/swagger.json", "API của tôi V1"); }); await app.RunAsync();
    
    
                                
                              

    Tạo thư mục Dịch vụ rồi tạo DemoService.cs.

    Mã nội bộ:

                                
                                  không gian tên MFMiniApi.Service; lớp công khai DemoService : ServiceBase { public string PostAsync() { return "Nó có thành công không?"
    
    
                                
                              
  3. Bắt đầu dự án và triển khai dịch vụ đăng ký Api thông qua MiniApi.

Chức năng MasaMiniApi:

  • Nhóm dịch vụ: Viết các dịch vụ API cho các dịch vụ khác nhau Dịch vụ ở giữa
  • Định tuyến ánh xạ tự động: hỗ trợ các tiêu chuẩn RESTful

API tối thiểu rất nhẹ và rất đơn giản để viết. Tuy nhiên, vì điều này, nó cũng mang đến cho chúng ta một số vấn đề về mã hóa. Chúng ta hãy xem sự khác biệt giữa phương pháp viết của API tối thiểu gốc và phương pháp viết của API tối thiểu do Masa cung cấp. .

Viết bản địa.

                        
                          var builder = WebApplication.CreateBuilder(args); var app = builder.Build(); var user = new User() { Id = id, Name = "Tony" }; return Task.FromResult(Results.Ok(user)); }); app.MapPost("/api/v1/users", ([FromBody] UserRequest request)=> { // việc cần làm: Thêm logic người dùng return Task.FromResult(Results.Accepted()); }); MapDelete("/api/v1/users/{id}",(Guid id)=> { // việc cần làm: xóa trả về logic của người dùng Task.FromResult(Results.Accepted()); }); app.MapPut("/api/v1/users/{id}",(Guid id, [FromBody] EditUserRequest request)=> { //todo: Sửa đổi người dùng Trả về logic Task.FromResult(Results.Accepted()); app.Run();


                        
                      

MasaMiniApi:

Tạo UserService.cs và đăng ký tự động trường hợp sử dụng.

                        
                          using Microsoft.AspNetCore.Mvc; namespace MFMiniApi.Service; public class UserService : ServiceBase { ///  /// Get: /api/v1/users/{id} ///  public Task GetAsync(Guid id) { // việc cần làm: Không thể thay đổi var user = new User() { Id = id, Name = "Tony" }; return Task.FromResult(Results.Ok(user)); } ///  /// Post: /api/v1/users ///  public Task AddAsync([FromBody] UserRequest request) { // việc cần làm: Không thể thay đổi return Task.FromResult(Results.Accepted()); } ///  /// Xóa: /api/v1/users/{id} ///  public Task DeleteAsync(Guid id) { //todo: Không thể thực hiện hành động return Task.FromResult(Results.Accepted()); } ///  /// Put: /api/v1/users/{id} ///  public Task UpdateAsync(Guid id, [FromBody] EditUserRequest request) { //todo: Không thể thực hiện hành động return Task.FromResult(Results.Accepted()); } }


                        
                      

UserService.cs, đăng ký thủ công ca sử dụng.

                        
                          public class UserService : ServiceBase { public UserService() { RouteOptions.DisableAutoMapRoute = true;//Dịch vụ hiện tại vô hiệu hóa định tuyến đăng ký tự động App.MapGet("/api/v1/users/{id}", GetAsync App.MapPost() " /api/v1/users", AddAsync); App.MapDelete("/api/v1/users/{id}", DeleteAsync); App.MapPut("/api/v1/users/{id}", UpdateAsync); } public Task GetAsync(Guid id) { // việc cần làm: Truy vấn thông tin người dùng var user = new User() { Id = id, Name = "Tony" }; return Task.FromResult(Results.Ok(user) } public Task AddAsync([FromBody] UserRequest request) { //todo: Thêm logic người dùng return Task.FromResult(Results.Accepted()); } public Task DeleteAsync(Guid id) { //todo: Xóa người dùng Trả về logic Task.FromResult(Results.Accepted()); } public Task UpdateAsync(Guid id, [FromBody] EditUserRequest request) { //todo: Sửa đổi trả về logic của người dùng Task.FromResult(Results.Accepted());


                        
                      

Cấu hình toàn cầu của MasaMiniApi.

Tên tham số Mô tả thông số giá trị mặc định
TắtAutoMapRoute Tắt định tuyến bản đồ tự động SAI
Tiền tố tiền tố api
Phiên bản Phiên bản v1
Id tự động thêm Liệu tuyến đường có chứa {Id} hay không, ví dụ: /api/v1/user/ ĐÚNG VẬY
Số nhiều hóa tên dịch vụ Có bật tính năng số nhiều của tên dịch vụ hay không ĐÚNG VẬY
Nhận Tiền tố Được sử dụng để xác định loại phương thức hiện tại là Lấy hỏi Danh sách mới { "Lấy", "Chọn", "Tìm" }
Tiền tố bài viết Được sử dụng để xác định loại phương thức hiện tại là Bưu kiện hỏi Danh sách mới { "Đăng", "Thêm", "Chèn lên", "Tạo", "Chèn" }
Đặt Tiền Tố Được sử dụng để xác định loại phương thức hiện tại là Đặt hỏi Danh sách mới { "Đặt", "Cập nhật", "Sửa đổi" }
Xóa Tiền tố Được sử dụng để xác định loại phương thức hiện tại là Xóa bỏ hỏi Danh sách mới { "Xóa", "Loại bỏ" }
Vô hiệu hóaTrimMethodPrefix Tắt tính năng xóa tiền tố phương thức (ở trên Lấy Bưu kiện Đặt Xóa bỏ tiền tố được yêu cầu) SAI
Bản đồHttpPhương pháp choKhông khớp Sau khi tiền tố tên phương thức không khớp với phương thức yêu cầu, tuyến sẽ sử dụng HttpMethod được chỉ định để bắt đầu yêu cầu. ủng hộ Bưu kiện Lấy Xóa bỏ Đặt Swagger không hỗ trợ phương pháp này và không thể hiển thị API bình thường.
Hội đồng Được sử dụng để quét cụm nơi đặt dịch vụ MasaApp.GetAssemblies() (Bộ sưu tập hội toàn cầu, mặc định cho bộ sưu tập hội miền hiện tại)
Trình xử lý tuyến đường dựa trên Trình xử lý tuyến đường Ủy quyền có thể được sử dụng để xác thực quyền, CORS, v.v. vô giá trị

Cấu hình trong dịch vụ.

Tên tham số Mô tả thông số Giá trị mặc định (null nếu không được chỉ định)
BaseUri địa chỉ gốc
Tên dịch vụ Tên dịch vụ
Trình xử lý tuyến đường Ủy quyền dựa trên RouteHandlerBuilder có thể được sử dụng để xác thực quyền, CORS, v.v.
RouteOptions(đối tượng) Cấu hình định tuyến cục bộ
TắtAutoMapRoute Tắt định tuyến bản đồ tự động
Tiền tố tiền tố
Phiên bản Phiên bản
Id tự động thêm Liệu tuyến đường có chứa {Id}font> hay không, ví dụ: /api/v1/user/
Số nhiều hóa tên dịch vụ Có bật tính năng số nhiều của tên dịch vụ hay không
Nhận Tiền tố Được sử dụng để xác định loại phương thức hiện tại là Lấy hỏi
Tiền tố bài viết Được sử dụng để xác định loại phương thức hiện tại là Bưu kiện hỏi
Đặt Tiền Tố Được sử dụng để xác định loại phương thức hiện tại là Đặt hỏi
Xóa Tiền tố Được sử dụng để xác định loại phương thức hiện tại là Xóa bỏ hỏi
Vô hiệu hóaTrimMethodPrefix Tắt tính năng xóa tiền tố phương thức (ở trên Lấy Bưu kiện Đặt Xóa bỏ tiền tố được yêu cầu)
Bản đồHttpPhương pháp choKhông khớp Nếu phương thức yêu cầu không khớp với tiền tố tên phương thức, tuyến đường sẽ sử dụng HttpMethod được chỉ định để bắt đầu một yêu cầu. Phương thức này không được Swagger hỗ trợ và API không thể hiển thị bình thường.

Tài liệu MiniApi

Khung MASA (masastack.com)。

Đây là địa chỉ tài liệu chính thức. MasaFramework cung cấp rất nhiều gói không có bất kỳ sự phụ thuộc mạnh mẽ nào và có thể được sử dụng riêng biệt trong các dự án.

Được rồi, các trường hợp sử dụng của MasaMiniApi được giới thiệu ở đây.

Chia sẻ từ mã thông báo.

Nhóm trao đổi kỹ thuật: 737776595.

Cuối cùng, bài viết này về cách sử dụng `MasaMiniApi` trong các dự án hiện có? Nếu bạn muốn biết thêm về cách sử dụng `MasaMiniApi` trong các dự án hiện có? Vui lòng tìm kiếm bài viết CFSDN hoặc tiếp tục duyệt các bài viết liên quan. sẽ ủng hộ blog của tôi trong tương lai! .

25 4 0
tôi là một con chim nhỏ
Hồ sơ

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá taxi Didi miễn phí
Phiếu giảm giá taxi Didi
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress