当前位置:实例文章 » C#开发实例» [文章]asp.net core框架搭建1-搭建webapi,对数据增删改查接口模板(附源码)

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

相关标签:asp.net后端
其他信息

其他资源

Top