大数跨境
0
0

.NET6中关于Minimal API的简单使用

.NET6中关于Minimal API的简单使用 元讯趣编程
2022-03-25
3
导读:.NET6中关于Minimal API的简单使用

微信公众号:趣编程ACE
收集并分享日常的.NET实战开发技巧,源码获取关注后回复 源码;
**如果觉得本公众号对您有帮助,欢迎关注

本文来自社区群粉丝投稿


.NET6中关于Minimal API的简单使用

详细文档参考官网 https://docs.microsoft.com/en-us/aspnet/core/fundamentals/minimal-apis?view=aspnetcore-6.0

基础代码

 1using Microsoft.AspNetCore.Mvc;
2using MinimalDemoApi.Models;
3using MinimalDemoApi.Services;
4
5var builder = WebApplication.CreateBuilder(args);
6
7// 配置swagger
8builder.Services.AddEndpointsApiExplorer();
9builder.Services.AddSwaggerGen();
10
11var app = builder.Build();
12
13
14// Configure the HTTP request pipeline.
15if (app.Environment.IsDevelopment())
16{
17    app.UseSwagger();
18    app.UseSwaggerUI();
19}
20
21app.Run();

其实最早接触这个Miniapi的形式是在写node.js的时候,现在.net6中新增了这个功能,有着异曲同工之妙,所以如果我们项目中API数量少的话,完全可以采用这种形式开发,很精简~

示例一、

1app.MapGet("/"()=>new {Id=1,Name="Jarry"});

访问根目录,页面会返回如下对象:

示例二、

1app.MapGet("/error",()=>Results.Problem("An Error Occurred",statusCode:500));

提供一个出错接口,当访问时,可以得到如下返回信息以及响应状态码


示例三、

使用[FromServices]解决无法通过构造函数获取容器对象的问题,同时访问Get请求

1app.MapGet("/api/user",([FromServices]IUserManager userManager)=> {userManager.GetUsers();});


示例四、
实现[HttpPost]请求访问接口,并通过Produces这个内置类型返回响应的状态码

1app.MapPost("/api/create",([FromServices]IUserManager userManager,[FromBody]User user)
2                                =>
userManager.CreateUser(user) ? Results.Ok(): Results.BadRequest())
3                                .WithName("Create User")  // 指定名称
4                                .Produces<User>(StatusCodes.Status200OK) // 返回响应体以及状态码
5                                .Produces(StatusCodes.Status400BadRequest);



返回格式展示:




【声明】内容源于网络
0
0
元讯趣编程
学习编程从入门到精通
内容 51
粉丝 0
元讯趣编程 学习编程从入门到精通
总阅读80
粉丝0
内容51