0
点赞
收藏
分享

微信扫一扫

开源博客项目Blog .NET Core源码学习(14:App.Hosting项目结构分析-2)

ixiaoyang8 04-14 21:01 阅读 1

1.WebAPI概述

1.1 WebAPI

WebAPI 是一种传统的方式,用于构建和暴露 RESTUI风格的Web服务。它提供了丰富的功能和灵活性,可以处理各种HTTP请求,并支持各种数据格式,如JSON、XML等。

WebAPI使用控制器(Controllers)和动作方法(ActionMethods)的概念、通过路由配置将请求映射到相应的方法上。

开发人员可以使用各种属性和过滤器来处理请求、控制访问权限、验证数据等。

1.2 MinimaIAPI

MinimaIAPI 是ASP.NET COre6引入的一种新的轻量级 API开发模型。

它旨在简化 API的创建过程,提供更简洁、更集中的代码结构。

MinimalAP1基于函数式编程模型,通过一个顶级的webAppiication 类来配置路由和请求处理。开发人员可以使用链式调用的方式定义路由、请求处理逻辑和中间件。这种模型更加直观和易于理解,尤其适合构建小型的、单一用途的 WebAPI

与WebAPI相比,MinimalAPI的主要区别包括:

  • 1.代码量更少:MinimalAPI基于函数式编程模型,代码更加简洁、消除了控制器和动作方法的概念。
  • 2.更少的依赖项:MinimalAPI不需要使用额外的NuGet包,只需使用ASP.NET Core 本身的核心包即可。
  • 3.更直观的路由配置:MinimaAP1使用链式调用的方式定义路由,路由配置更加直观和易于理解。
  • 4.更轻量级的应用:由于代码量少、依赖项少,MinimalAPI应用程序的启动时间更快,内存占用更小。

2.新建WebAPI

Web API项目模板提供了一个入门版控制器:
[ApiConyroller]
[Route("[controller]")]
public class WeatherForecastController : ControllerBase

Web API控制器通常应派生自 ControllerBase 而不是 Controler。Controller派生自ControlerBase,并添加对视图的支持,因此它用于处理 Web页面,而不是WebAPI请求。如果同一控制器必须支持视图和 Web API,则派生自Controller.

写一个简洁的API,我们新建一个控制器VauleController:

using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;

namespace WebAPI.Controllers
{
    [Route("api/[controller]/[action]")]
    [ApiController]
    public class ValuesController : ControllerBase
    {
        [HttpGet]
        public string Test()
        { 
            return "ok";
        }
    }
}

 在浏览器上访问:

通过在浏览器上输入api/[controller]/[action] 从而调用接口,如下图所示接口可用。

举报

相关推荐

0 条评论