首页 / ASP.NET Core / 正文

创建API服务最小只要4行代码!!!尝新体验ASP.NET Core 6预览版本中发布的最小Web API(minimal APIS)新特性

3339 1评论 发布于: 2021-08-14 读完约需6分钟

概述

.NET开发者们大家好,我是Rector。

几天前(美国时间2021年8月10日),微软官方发布了.NET 6的第7个预览版,其中包含了很多新的特性和功能,比如:

  • 优化最小Web API(minimal APIS)模板
  • 为生成常用HTTP响应添加了IResult的接口实现
  • 最小操作支持Request,Response等
  • 优化了最小主机、模板
  • 从查询字符串中获取Blazor组件参数

本文我们主要来体验最小Web API的功能和特性。最小Web API的目的主要是帮助C#(或者F#)后端开发者快速创建微服务项目或者HTTP API服务。

与之前的ASP.NET Core Web API相比,最小Web API在启动模板和框架结构上都有些不同。最小Web API的模板相当简洁,你几需要写4行代码便可完成一个最小Web API项目的搭建。

下面我们从头开始创建一个最小Web API项目并体验。

准备工作

在开始创建最小Web API之前,请确保开发环境中已安装了.NET SDK 6.0.100-preview.7.21379.14(当前最新的.NET SDK版本),在Windows操作系统中,你可以使用.NET Cli命令来查看,比如:

运行结果如下图:

如果需要查看当前环境已安装的.NET模板,运行如下命令:

运行结果如下:

创建最小API程序项目

在.NET Core中创建程序的方式有多种,可以使用命令行工具执行dotnet new <模板名称> <项目名称>创建,也可以使用IDE(如:Visual Studio, Rider, VS Code)来创建。

使用命令行工具创建最小API项目

在本地磁盘创建一个存储项目的目录,假如路径为D:\Project\tmp\MinimalApi,打开命令行工具并进入此目录,在当前目录下执行如下命令:

执行结果如下图

生成的项目文件夹和文件如下图

至此,以命令行方式创建最小API项目即完成。

使用Visual Studio创建最小API项目

使用Visual Studio创建最小API项目,请确保已安装Visual Studio 2022 17.0.0 Preview 3.0(当前最新版本)。

依次打开Visual Studio 2022的【Start Window】->【Create a new project】窗口,在右侧的已安装模板列表中选择【ASP.NET Core Empty】项目模板,之后点击[Next]按钮,如图:

在弹出的【Configure your new project】中,完善Project name(项目名称),Location(位置),Solution name(解决方案名称)等信息,然后点击[Next]按钮,如图:

在弹出的【Additional Information】窗口中,Framework的版本选择[.NET 6.0(Preview)],然后点击[Next]按钮,以完成最小API项目的创建,如图:

最小API解析

在IDE中打开刚才创建的MinimalApi,并在代码编辑器中打开Program.cs文件,如下:

可以看到,最小API项目的代码非常简洁,如果去掉其中的异常处理代码,就还剩4行代码了,如下:

为了不启用https,我们修改一下位于Properties目录中的launchSettings.json配置文件,修改后如下:

然后启用项目,看是否能正常运行起来。在Visual Studio 2022中,按F5运行,如果在浏览中打开并显示如下页面,说明最小API项目运行正常,如图:

在最小API项目中,直接调用WebApplication.MapGet()方法即可完成路由的注册和映射,如新增一个error的路由:

运行结果如图:

WebApplication实例提供了很多路由映射的方法,比如HTTP请求协议:MapGet(),MapPost(),MapDelete(),MapPut()等等。

与以往的ASP.NET Core应用程序相同,在最小API项目中,你仍然可以使用像Swagger这样的接口文档组件。

首先,在Nuget包管理工具中搜索Swashbuckle,然后安装Swashbuckle.AspNetCore组件,如图:

然后注册Swagger的服务和路由,完整的示例如下:

运行后的Swagger界面如图:

在最小API应用程序中,我们同样也可以返回实体对象,比如:注册一个/customer的路由,然后返回一个Customer的实例模型,如下:

运行结果如图:

好了,本文对最小Web API的体验到此。码友网将在后续的文章中为大家分享的关于最小Web API的其他功能和特性,敬请关注。

版权声明:本作品系原创,版权归码友网所有,如未经许可,禁止任何形式转载,违者必究。

上一篇: Docker常用笔记整理

下一篇: .NET常用的集合类型及如何选择合适的集合类型

本文永久链接码友网 » 创建API服务最小只要4行代码!!!尝新体验ASP.NET Core 6预览版本中发布的最小Web API(minimal APIS)新特性

分享扩散:

发表评论

登录用户才能发表评论, 请 登 录 或者 注册

热门评论

抓住那只羊呀 (2021-08-26 11:09)

6666!怎么这么越来越像,node.js
回复 赞(0)