.NET ASP.NET Core WebAPI 入门使用及介绍

算法之美 2019-06-20 ⋅ 46 阅读

介绍

.NET ASP.NET Core WebAPI 是一个用于创建 Web 服务的开发框架。它是基于 .NET Core 的跨平台框架,可以在 Windows、Linux 和 macOS 上运行。本文将介绍如何入门使用 .NET ASP.NET Core WebAPI,并通过示例代码详细介绍核心功能。

环境搭建

在开始之前,需要确保已经安装了 .NET Core SDK。可以在官方网站上下载并安装适合你系统的版本。

创建一个新的 WebAPI 项目

打开一个命令行终端窗口,输入以下命令创建一个新的 WebAPI 项目:

dotnet new webapi -o MyWebAPI

进入项目目录:

cd MyWebAPI

运行项目

使用以下命令运行项目:

dotnet run

这将会启动一个本地开发服务器,并让你的 WebAPI 项目在其中运行。

发布项目

当准备好发布项目时,可以运行以下命令生成发布版本:

dotnet publish -c Release -o AppPublish

这将会生成优化和发布的版本,并将其保存在 AppPublish 文件夹中。

实现一个简单的 WebAPI

现在我们开始实现一个简单的 WebAPI,展示常用的功能。

控制器

Controllers 文件夹中创建一个新的控制器类,命名为 HelloController.cs,代码如下:

using Microsoft.AspNetCore.Mvc;

namespace MyWebAPI.Controllers
{
    [ApiController]
    [Route("api/[controller]")]
    public class HelloController : ControllerBase
    {
        [HttpGet]
        public string Get()
        {
            return "Hello, World!";
        }
    }
}

这个控制器类包含一个处理 GET 请求的方法。通过在浏览器访问 https://localhost:5001/api/hello,你将会看到返回的 "Hello, World!" 消息。

模型绑定

添加一个新的模型 Person.cs,代码如下:

public class Person
{
    public string Name { get; set; }
    public int Age { get; set; }
}

更新 HelloController.cs,在 GET 方法中添加一个新的参数:

[HttpGet("{name}")]
public string Get(string name)
{
    return $"Hello, {name}!";
}

可以通过访问 https://localhost:5001/api/hello/John 来获得 "Hello, John!" 消息。

POST 请求

更新 HelloController.cs,添加一个处理 POST 请求的方法:

[HttpPost]
public string Post(Person person)
{
    return $"Hello, {person.Name}! You are {person.Age} years old.";
}

使用 POST 请求向 https://localhost:5001/api/hello 发送以下 JSON 数据:

{
    "name": "John",
    "age": 25
}

你将会得到返回的 "Hello, John! You are 25 years old." 消息。

异常处理

更新 HelloController.cs,添加一个可能会抛出异常的方法:

[HttpGet("exception")]
public IActionResult GetException()
{
    throw new Exception("An error occurred.");
}

这个方法抛出一个自定义的异常。可以通过访问 https://localhost:5001/api/hello/exception 来测试异常处理功能。

返回状态码

更新 HelloController.cs,添加一个处理返回指定状态码的方法:

[HttpGet("status")]
public IActionResult GetStatus()
{
    return StatusCode(400, "Bad Request");
}

通过访问 https://localhost:5001/api/hello/status,你将会得到一个返回状态码为 400 的 "Bad Request" 消息。

结论

在本文中,我们介绍了 .NET ASP.NET Core WebAPI 的入门使用,并详细介绍了其核心功能。你可以通过创建一个新的 WebAPI 项目,实现一个简单的控制器,并掌握模型绑定、处理 POST 请求、异常处理和返回指定状态码等功能。希望这篇文章对你了解和使用 .NET ASP.NET Core WebAPI 有所帮助。

欢迎提出问题和反馈意见!


全部评论: 0

    我有话说: