简介
.NET Core 是微软开发的跨平台框架,可用于开发桌面应用程序、Web应用程序和移动应用程序。在本文中,我们将讨论如何使用.NET Core开发RESTful API。
RESTful API 是一种 Web API 设计方法,它使用 HTTP 协议实现网络应用程序之间的通信。此文章探究一下如何使用.NET Core构建RESTful API。
开始
假设您已经安装了.NET Core SDK和 Visual Studio Code。我们将从新建项目开始。
创建项目
使用以下命令创建一个新的.NET Core Web API 项目:
------ --- ------ -- -----
添加依赖项
我们需要添加以下 NuGet 包作为我们的项目依赖项:
- Swashbuckle.AspNetCore
- Microsoft.AspNetCore.Mvc.NewtonsoftJson
------ --- ------- ---------------------- ------ --- ------- ---------------------------------------
其中 Swashbuckle.AspNetCore包含Swagger ,使 API 文档化变得容易。Microsoft.AspNetCore.Mvc.NewtonsoftJson 可以让我们在API的请求或响应中使用JSON格式,而不是默认的 XML。这将有助于我们更好地理解 API。
编写代码
我们将创建一个简单的 Todo List 应用程序,包含以下API操作:
- 获取所有的 Todo Items
- 根据ID获取单个 Todo Item
- 添加新的 Todo Item
- 更新 Todo Item
- 删除 Todo Item
创建一个Todo模型
创建 Todo 模型,其具有两个属性:id 和 name。模型中的 id 属性将由框架自动生成。
------ ----- ---- - ------ --- -- - ---- ---- - ------ ------ ---- - ---- ---- - -
创建一个Todo存储库
创建一个 Todo 存储库,以期用于存储和检索Todo 模型。
------ --------- --------------- - ---------- ----------- ---- --------------- ---- ---- ----------- ------ ---- ----------- ------ ---- ---------- ---- - ------ ----- -------------- - --------------- - ------- -------- ---------- ------- ------ ---------------- - ------ - --- ------------ - --- ------ - -- - -- ---- - ----- -- -- --- ------ - -- - -- ---- - ----- -- -- --- ------ - -- - -- ---- - ----- -- - -- - ------ ---------- ---------- - ------ ------- - ------ ---- --------------- --- - ------ --------------------------- -- ------- -- ---- - ------ ---- ----------- ----- - --- ----- - --------------- -- -------- - -- ------- - ------ ----------------- ------ ----- - ------ ---- ----------- ----- - ---- ------------ - ------------------------ -- ---- -- --------- -- ------------- -- ----- - ----------------- - ---------- ------ ----- - ------ ------ - ------ ---- ---------- --- - ---- ------------ - --------------------------- -- ------- -- ---- -- ------------- -- ----- - ---------------------------- ------ ----- - ------ ------ - -
创建Todo控制器
创建一个 Todo 控制器,该控制器实现以下操作:
- 获取所有的Todo Items
- 根据ID获取单个Todo Item
- 添加新的Todo Item
- 更新Todo Item
- 删除Todo Item
-------------------- ------ ----- -------------- - ---------- - ------- -------- --------------- ------------ ------ ------------------------------ ----------- - ----------- - ----------- - --------- ------ ------------- ---------- - ---------- ----- - ----------------------- ------ ---------- - ----------------- ------ ------------- --------------- --- - ---- ---- - ---------------------------- -- ----- -- ----- - ------ ----------- - ------ --------- - ---------- ------ ------------- ------------------------- ---- ----- - -- ----- -- ----- - ------ ------------- - ---- ----------- - ------------------------- ------ ------------------------------------ --- - -- - -------------- -- ------------- - ----------------- ------ ------------- ------------------ --- ---------- ---- ----- - -- ----- -- ---- -- -- -- -------- - ------ ------------- - ---- --------- - ------------------------- -- ------------ - ------ ----------- - ------ ----- - -------------------- ------ ------------- ------------------ --- - ---- --------- - ----------------------- -- ------------ - ------ ----------- - ------ ------------ - -
使用Swagger进行API文档化
Swagger 很受欢迎,因为它可以自动生成 API 的文档,以便开发人员可以更好地理解这些 API 的功能和特性。
添加Swagger到项目
在 Startup.cs 中,我们将添加Swagger。Swashbuckle.AspNetCore包带有 Swagger ; 数据注释可以轻松地从我们的代码中生成文档。
------ ---- ------------------------------------ --------- - -- ----------------------------- ------------------------ -- - ------------------ --- ----------- - ----- - ----- ----- ------- - ---- --- --- ------------------------- --------------------- -------------------------------------- ------------------ - -- ----------------------------- ----------- --------------------------------------- -- -------------------- ------ ---- ----------------------------- ---- ------------------- ---- - -- --------------------- - -------------------------------- - -- ------------ ----------------- -- -------------------- - ------- - -- - ------------------- ------------------ -- - --------------------------------------------- ----- --- ----- --- ----------------- -------------------------- -- - --------------------------- --- -
查看生成的Swagger文档
运行 web 应用程序并访问: http://localhost:5000/swagger/index.html
。您应该看到一个网站,其中包含有关 Todo API 的文档。现在可以测试您的 API 功能是否正常。
结论
使用.NET Core和Swagger,我们轻松地构建了一个完整的RESTful API。在实际开发中,我们应该考虑 API 的安全和性能问题,并根据需要进行合适的优化和改进。
示例代码
完整的代码可以在以下 GitHub 存储库中找到:https://github.com/xxxx/myapp。
参考
- https://docs.microsoft.com/en-us/aspnet/core/tutorials/first-web-api?view=aspnetcore-3.1&tabs=visual-studio
- https://docs.microsoft.com/en-us/aspnet/core/tutorials/getting-started-with-swashbuckle?view=aspnetcore-3.1&tabs=visual-studio-code
来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/66ff7ec21b0bf82c71cab4f2