📅  最后修改于: 2023-12-03 15:37:33.089000             🧑  作者: Mango
在本教程中,我们将探讨如何在 Visual Studio 2019 和 SQL Server 中创建 Web API 项目。
首先,打开 Visual Studio 2019,并选择“创建新项目”。
在打开的窗口中,选择“ASP.NET Core Web 应用程序”模板,然后单击“下一步”。
接下来,您需要在“模板选择器”中选择“Web API”模板,并设置名称和位置。然后,单击“创建”。
接下来,您需要配置 SQL Server 连接。打开“应用程序配置文件”(appsettings.json),并将以下内容添加到文件中:
"ConnectionStrings": {
"DefaultConnection": "Server=(localdb)\\mssqllocaldb;Database=MyDatabase;Trusted_Connection=True;MultipleActiveResultSets=true"
}
请注意,此示例使用本地 SQL Server 实例(localdb)。您可以将其替换为实际数据库实例的名称。
现在,您可以使用 Entity Framework Core 来生成数据模型。在 Visual Studio 的“控制台包管理器”中,运行以下命令:
Scaffold-DbContext 'Server=(localdb)\mssqllocaldb;Database=MyDatabase;Trusted_Connection=True;MultipleActiveResultSets=true' Microsoft.EntityFrameworkCore.SqlServer -OutputDir Data -f
这将生成一个名为“Data”的文件夹,并在其中创建数据模型类。这些类将与数据库表对应,并包含与表字段相对应的属性。
接下来,您可以编写 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);
}
}
}
现在,您可以运行项目,并使用任何 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 的指南。