MinimalAPI

概述说明

关于MinimalAPI性能优于MVC API的对比,这是一个客观事实,但其中也存在一些误区。

性能的差异主要在两个方面,一个是默认功能的差异,另一个AOT的支持。

默认功能差异

MinimalAPI默认不启用一些功能,而MVC API默认启用,如:

  • 完整的模型绑定(IFormFIle支持)和验证(自动返回400错误)
  • 过滤器
  • 异常处理
  • 解析提供器
  • 其他....

而很多功能都是我们需要的,在MVC中也可以通过配置来关闭一些功能,来优化一点性能。

使用MinimalAPI时,当想要实现更加完善的功能时,它的性能和代码组合方式在就越接近MVC API。

很多性能对比差异,在默认配置下,MinimalAPI自然会更快,但显然,它们提供的功能特性是不对等的。

当你为MinimalAPI添加更多功能时,而为MVC API去掉一些默认功能时,也许就是另一种结果。

总结,其实在这个层面上,MinimalAPI和MVC API的性能差异几乎可以忽略,更多的是由你想要实现的功能决定的。

AOT支持

核心问题是MinimalAPI支持AOT编译,而MVC API不支持。

目前,也没有确切的信息表示微软会不会,以及何时会为WebAPI(MVC)支持AOT编译。