DotNET 7:最小 API 使用,你知道吗?

网站建设3年前发布
28 0 0

20230306131253044387435d93b82c445357dce625f6925e8c70449,最小 API 并不是在 .NET 7 中才加入的,记得应该是在 .NET 6 中就已经提供,只是对我来说,到现在才开始使用。,在 VS 2022 中创建 WebAPI 项目,不勾选使用控制器,创建出来的就是最小 API :,20230306131254244741e205eb9651cce391069b5808a652fc0e871,创建出来的工程只有两个文件,重大的改变就是,没有之前的 Startup 类了,只有一个 Program 和一个配置文件 appsetting.json:,2023030613144741eeea6759ddb1dcc2d0165cd366df76da9496836,Program 类的全部代码如下:,app.MapGet 方法接受两个参数,第一个参数是一个字符串,为接口的访问路径,第二个参数是一个委托,用来编写接口的业务逻辑。,从 MapGet 这个方法名可以看出,这是一个 Get 请求的接口方法,如果要使用 Post ,可以使用 MapPost 。,添加一个接口方法非常简单,如下图:,20230306131255799827d313de0fabf80641188168436f5931d1453,1、安装 NuGet 包:Serilog.AspNetCore,安装这一个就会包含 Serilog 、Serilog.Sink.File 等。,2、在 Program 类的 builder 创建之后,添加对 Serilog 的使用:,3、运行程序,会看到项目更目录下会生成一个 serilog-file.txt 文本文件,里面记录了所有日志。,4、在上面添加的 helloworld 方法中使用日志:,依赖注入一个常见的做法是使用构造函数进行注入,传统的 WebAPI 中可以在 Controller 的构造函数中进行,但最小 API 没有 Controller ,下面看看在最小 API 中是怎么注入的。,1、在 Program 类的最下面添加 IUser 接口和 User 类:,2、在 Program 类的 builder 创建之后,添加依赖注入的配置:,3、注入的地方由原来的构造函数变成了方法参数:,最小 API 的项目中的两个文件,其中一个就是 appsetting.json 配置文件,下面以 Serilog 日志框架的配置为例,来演示怎样读取配置文件。,1、在上面的 Serilog 例子中,配置是在代码中写死的,现在将配置移到 appsetting.json 配置文件中。,2、修改 builder 部分的代码:,3、运行程序后,在程序根目录下会创建 Serilogs 目录,该目录中会创建 serilog.log 文件。,1、对于一些简单的接口场景,使用最小 API 比较方便,都在一个文件中处理。,2、除了依赖注入式通过方法参数,其他很多地方跟之前用法类似,就是将 Startup 中 ConfigureServices 方法和 Configure 方法搬到了 Program 类的固定位置。

© 版权声明

相关文章