如何使用.NET Core开发RESTful API

简介

.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

参考

来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/66ff7ec21b0bf82c71cab4f2