📜  在 Visual Studio 2019 和 sql server 中创建 api 项目 - SQL (1)

📅  最后修改于: 2023-12-03 15:37:33.089000             🧑  作者: Mango

在 Visual Studio 2019 和 SQL Server 中创建 API 项目

在本教程中,我们将探讨如何在 Visual Studio 2019 和 SQL Server 中创建 Web API 项目。

步骤1:创建 Web API 项目

首先,打开 Visual Studio 2019,并选择“创建新项目”。

在打开的窗口中,选择“ASP.NET Core Web 应用程序”模板,然后单击“下一步”。

接下来,您需要在“模板选择器”中选择“Web API”模板,并设置名称和位置。然后,单击“创建”。

步骤2:配置数据库连接

接下来,您需要配置 SQL Server 连接。打开“应用程序配置文件”(appsettings.json),并将以下内容添加到文件中:

"ConnectionStrings": {
    "DefaultConnection": "Server=(localdb)\\mssqllocaldb;Database=MyDatabase;Trusted_Connection=True;MultipleActiveResultSets=true"
}

请注意,此示例使用本地 SQL Server 实例(localdb)。您可以将其替换为实际数据库实例的名称。

步骤3:生成数据模型

现在,您可以使用 Entity Framework Core 来生成数据模型。在 Visual Studio 的“控制台包管理器”中,运行以下命令:

Scaffold-DbContext 'Server=(localdb)\mssqllocaldb;Database=MyDatabase;Trusted_Connection=True;MultipleActiveResultSets=true' Microsoft.EntityFrameworkCore.SqlServer -OutputDir Data -f

这将生成一个名为“Data”的文件夹,并在其中创建数据模型类。这些类将与数据库表对应,并包含与表字段相对应的属性。

步骤4:编写 CRUD 操作

接下来,您可以编写 Web API 控制器,以执行 CRUD 操作(创建、读取、更新和删除)。以下是一个示例控制器,它使用上一步骤中生成的数据模型来读取和更新“客户”表中的数据:

using Microsoft.AspNetCore.Mvc;
using Microsoft.EntityFrameworkCore;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using MyAPI.Data;

namespace MyAPI.Controllers
{
    [Route("api/[controller]")]
    [ApiController]
    public class CustomersController : ControllerBase
    {
        private readonly MyDbContext _context;

        public CustomersController(MyDbContext context)
        {
            _context = context;
        }

        // GET: api/Customers
        [HttpGet]
        public async Task<ActionResult<IEnumerable<Customer>>> GetCustomers()
        {
            return await _context.Customers.ToListAsync();
        }

        // GET: api/Customers/5
        [HttpGet("{id}")]
        public async Task<ActionResult<Customer>> GetCustomer(int id)
        {
            var customer = await _context.Customers.FindAsync(id);

            if (customer == null)
            {
                return NotFound();
            }

            return customer;
        }

        // PUT: api/Customers/5
        [HttpPut("{id}")]
        public async Task<IActionResult> PutCustomer(int id, Customer customer)
        {
            if (id != customer.Id)
            {
                return BadRequest();
            }

            _context.Entry(customer).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!CustomerExists(id))
                {
                    return NotFound();
                }
                else
                {
                    throw;
                }
            }

            return NoContent();
        }

        private bool CustomerExists(int id)
        {
            return _context.Customers.Any(e => e.Id == id);
        }
    }
}
步骤5:测试 API

现在,您可以运行项目,并使用任何 HTTP 客户端测试 API。以下是使用 cURL 命令进行 GET 请求的一个示例:

curl -X GET https://localhost:5001/api/customers

此命令将返回“Customers”表中的所有数据。您可以使用其他 RESTful API 请求类型(POST、PUT、DELETE)来执行其他 CRUD 操作。

结论

在本教程中,我们向您介绍了如何在 Visual Studio 2019 和 SQL Server 中创建 Web API 项目。我们还提供了生成数据模型和编写 CRUD 操作的步骤,以及使用 cURL 命令测试 API 的指南。