asp.net core框架搭建1-搭建webapi,对数据增删改查接口模板(附源码)
发布人:shili8
发布时间:2024-10-25 23:09
阅读次数:0
**ASP.NET Core 框架搭建 - 搭建 WebAPI**
在本文中,我们将一步步地讲解如何使用 ASP.NET Core 框架搭建一个基本的 Web API。我们将创建一个简单的 CRUD(Create、Read、Update、Delete)接口模板,用于管理数据。
###1. 创建新项目首先,我们需要在 Visual Studio 中创建一个新的 ASP.NET Core Web API项目。
* 打开 Visual Studio* 点击 "文件" -> "新建" -> "项目..."
* 在搜索框中输入 "ASP.NET Core Web Application"
*选择 "Web API" 模板* 点击 "下一步"
* 填写项目名称和位置信息* 点击 "创建"
###2. 添加 NuGet 包在新建的项目中,我们需要添加一些必要的 NuGet 包。
* 右键点击项目名称 -> "管理 NuGet 包..."
* 在搜索框中输入 "Microsoft.AspNetCore.Mvc"
*选择 "Microsoft.AspNetCore.Mvc" 包* 点击 "安装"
###3. 创建模型类接下来,我们需要创建一个模型类来表示我们的数据。
csharp// Models/Book.csnamespace WebApi.Models{
public class Book {
public int Id { get; set; }
public string Title { get; set; }
public string Author { get; set; }
}
}
###4. 创建数据访问类我们需要创建一个数据访问类来与数据库进行交互。
csharp// Data/BookRepository.csnamespace WebApi.Data{
public class BookRepository : IBookRepository {
private readonly DbContext _context;
public BookRepository(DbContext context)
{
_context = context;
}
public async Task> GetAllBooksAsync()
{
return await _context.Books.ToListAsync();
}
public async Task GetBookByIdAsync(int id)
{
return await _context.Books.FindAsync(id);
}
public async Task CreateBookAsync(Book book)
{
_context.Books.Add(book);
await _context.SaveChangesAsync();
}
public async Task UpdateBookAsync(Book book)
{
_context.Books.Update(book);
await _context.SaveChangesAsync();
}
public async Task DeleteBookAsync(int id)
{
var book = await GetBookByIdAsync(id);
if (book != null)
{
_context.Books.Remove(book);
await _context.SaveChangesAsync();
}
}
}
}
###5. 创建控制器类现在,我们需要创建一个控制器类来处理 HTTP 请求。
csharp// Controllers/BookController.csnamespace WebApi.Controllers{
[ApiController]
[Route("api/[controller]")]
public class BookController : ControllerBase {
private readonly IBookRepository _repository;
public BookController(IBookRepository repository)
{
_repository = repository;
}
// GET api/book [HttpGet]
public async Task>> GetAllBooksAsync()
{
return await _repository.GetAllBooksAsync();
}
// GET api/book/5 [HttpGet("{id}")]
public async Task> GetBookByIdAsync(int id)
{
var book = await _repository.GetBookByIdAsync(id);
if (book == null)
{
return NotFound();
}
return Ok(book);
}
// POST api/book [HttpPost]
public async Task> CreateBookAsync(Book book)
{
await _repository.CreateBookAsync(book);
return CreatedAtAction(nameof(GetBookByIdAsync), new { id = book.Id }, book);
}
// PUT api/book/5 [HttpPut("{id}")]
public async Task UpdateBookAsync(int id, Book book)
{
if (id != book.Id)
{
return BadRequest();
}
await _repository.UpdateBookAsync(book);
return NoContent();
}
// DELETE api/book/5 [HttpDelete("{id}")]
public async Task DeleteBookAsync(int id)
{
await _repository.DeleteBookAsync(id);
return NoContent();
}
}
}
###6. 配置依赖注入最后,我们需要配置依赖注入。
csharp// Startup.csnamespace WebApi{
public class Startup {
public void ConfigureServices(IServiceCollection services)
{
services.AddDbContext(options =>
options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));
services.AddTransient();
services.AddControllers();
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
app.UseRouting();
app.UseEndpoints(endpoints =>
{
endpoints.MapControllers();
});
}
}
}
###7. 运行应用程序最后,我们可以运行应用程序。
* 点击 "调试" -> "启动"
* 在浏览器中访问 ` />
这将显示一个基本的 CRUD 接口模板,用于管理数据。

