微信公众号:趣编程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;45var builder = WebApplication.CreateBuilder(args);67// 配置swagger8builder.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);

返回格式展示:

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

  1. 详解 .Net6 Minimal API 的使用方式

    随着 .Net6 的发布,微软也改进了对之前 ASP.NET Core 构建方式,使用了新的 Minimal API 模式.以前默认的方式是需要在 Startup 中注册 IOC 和中间件相关,但是在 ...

  2. 。net Core Minimal API

    一.简介 "Minimal API 是为了创建具有最小依赖关系的 HTTP API",这是官方的解释.什么意思呢,创建一个 API 并不需要加载许多的依赖.平时在开发 ASP.NE ...

  3. .NET 6 Minimal API 的经验分享

    Minimal API 是 .NET 6 提供的最新功能 , 对比传统的 ASP.NET Core Web API 方式更加直接 , 你可以用几行代码编写好 REST API . 没有了祖传的 Sta ...

  4. 中通/圆通API接口 PHP 简单封装示例

    圆通 API 接口 - 简单封装 PHP yto.api.php 文件 class YTO {private $_domain = 'http://opentestapi.yto.net.cn/ser ...

  5. 五、Elasticsearch中的API的简单使用(Python版本)

    @Author : By Runsen @Date : 2020/6/12 作者介绍:Runsen目前大三下学期,专业化学工程与工艺,大学沉迷日语,Python, Java和一系列数据分析软件.导致翘 ...

  6. Minimal API Todo Sample

    Minimal API Todo Sample Intro .NET 6 Preview 4 开始引入了 Minimal API 到如今的 RC1,Minimal API 也完善了许多并且修复了很多B ...

  7. .Net Minimal API 介绍

    Minimal APIs 是.Net 6 中新增的模板,借助 C# 10 的一些特性以最少的代码运行一个 Web 服务.本文脱离 VS 通过 VS Code,完成一个简单的 Minimal Api 项 ...

  8. .net core minimal api 上传文件

    .net 6 发布了一个新的特性 Minimal APIs,类似 NancyFx 框架. 使用 Minimal APIs ,感觉似曾相识,跟 asp 写法差不多,不用管乱七八糟的框架. 举个例子:三行 ...

  9. ASP.NET MVC4中调用WEB API的四个方法

    当今的软件开发中,设计软件的服务并将其通过网络对外发布,让各种客户端去使用服务已经是十分普遍的做法.就.NET而言,目前提供了Remoting,WebService和WCF服务,这都能开发出功能十分强 ...

最新文章

  1. echarts图形报表缓存问题(option数据缓存)
  2. 对Linux Kernel 4.15的支持的VirtualBox 5.2.8发布
  3. MyBatis3 xml映射文件配置
  4. Scala,Spark和IDEA学习笔记
  5. java arraystoreexception_208道高频 Java面试题答案6
  6. 【转】The test form is only available for requests from the local machine 解决方法
  7. vue根据url获取内容axios_vue+vuex+axios从后台获取数据存入vuex,组件之间共享数据...
  8. JQuery学习记录——DOM的加载
  9. Python之socket(套接字)
  10. Underlay网络:如何立住可靠又支持大规模无收敛的“人设”
  11. MacOS中运行第一个PySide6实例
  12. Android 系统(82)---ART 和 Dalvik
  13. ARCore-Unity3d教程3 - Unity Demo发布
  14. 【知云】第六期:数据级异地容灾如何实现?阿里云帮你打通数据的“任督二脉”...
  15. 设计模式—工厂模式(思维导图)
  16. jboss7学习2-jboss7入门(端口和访问的ip问题)
  17. ADAS/AD控制器模块开发03 - 系统架构设计及通用需求定义
  18. 家庭网络访问另一台计算机没权限,访问局域网电脑提示没有权限怎么办
  19. 2020前端开发面试题总结(最新)
  20. 【LeetCode】274. H指数

热门文章

  1. Java java.lang.SecurityException: Prohibited package name
  2. 使用keepalived实现双机热备
  3. Heritrix 3.1.0 源码解析(十一)
  4. zookeeper配置文件详解
  5. 基于ip tunnel连接不同三个不同网络的×××
  6. fatal error C1001: INTERNAL COMPILER ERROR
  7. 清除dns缓存命令行_怎么防止移动dns劫持,防止移动dns劫持要先了解什么是dns劫持...
  8. SQL中的left outer join,inner join,right outer join用法 (左右内连接)
  9. Arts 第十九周(7/22 ~ 7/28)
  10. PHP | Uploading and reading of files and database 【PHP | 文件的上传和读取与数据库】