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 接口模板,用于管理数据。