介绍
.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 有所帮助。
欢迎提出问题和反馈意见!
本文来自极简博客,作者:算法之美,转载请注明原文链接:.NET ASP.NET Core WebAPI 入门使用及介绍