環(huán)境
- ASP.NET core
- NET core 6.0
創(chuàng)建WebApi并防止Api沖突
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
namespace WebApi1.Controllers
{
//[Route("api/[controller]")]默認路徑,網(wǎng)絡(luò)請求路徑為api/controller文件名,如果有多個方法則會沖突
[Route("api/[controller]/[action]")]//網(wǎng)絡(luò)請求改為api/controller文件名/函數(shù)方法名。避免重名
[ApiController]
public class ValuesController : ControllerBase
{
/// <summary>
/// 簡單的網(wǎng)絡(luò)請求測試
/// </summary>
/// <returns></returns>
[HttpGet]
public string WebApiTest()
{
return "Hello World!";
}
/// <summary>
/// 多方法名測試
/// </summary>
/// <returns></returns>
[HttpGet]
public string WebApiTest2()
{
return "Hello World!";
}
}
}
如何使用
Swagger添加注釋
在 Program.cs里面
.......其他代碼
builder.Services.AddSwaggerGen(option =>
{
var file = Path.Combine(AppContext.BaseDirectory, "你的項目名稱.xml");//修改為你對應(yīng)的項目名稱才行
//true:顯示控制器層注釋
option.IncludeXmlComments(file, true);
//對action的名稱進行排序,如果有多個,就可以看見效果了
option.OrderActionsBy(o => o.RelativePath);
}
);
var app = builder.Build();
.......其他代碼
添加對應(yīng)注釋
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
namespace WebApi1.Controllers
{
//[Route("api/[controller]")]默認路徑,網(wǎng)絡(luò)請求路徑為api/controller文件名,如果有多個方法則會沖突
[Route("api/[controller]/[action]")]//網(wǎng)絡(luò)請求改為api/controller文件名/函數(shù)方法名。避免重名
[ApiController]
public class ValuesController : ControllerBase
{
/// <summary>
/// 簡單的網(wǎng)絡(luò)請求測試
/// </summary>
/// <returns></returns>
[HttpGet]
public string WebApiTest()
{
return "Hello World!";
}
/// <summary>
/// 多方法名測試
/// </summary>
/// <param name="str1">字符串1</param>
/// <param name="str2">字符串2</param>
/// <returns></returns>
[HttpGet]
public string WebApiTest2(string str1,string str2)
{
return "Hello World!";
}
}
}
效果:
連接sqlite數(shù)據(jù)庫
Nuget包
- Microsoft.EntityFrameworkCore.Sqlite
- Microsoft.EntityFrameworkCore.Sqlite.Core
- Newtonsoft.Json:用于Json格式轉(zhuǎn)換
代碼
using Microsoft.EntityFrameworkCore;
using System.ComponentModel.DataAnnotations.Schema;
using System.ComponentModel.DataAnnotations;
namespace WebApi1.DB
{
public class ORMContext:DbContext
{
public DbSet<Student> Students { get; set; }
public ORMContext()
{
this.Database.EnsureCreated();//如果沒有數(shù)據(jù)庫,則自動創(chuàng)建數(shù)據(jù)庫和對應(yīng)數(shù)據(jù)表
}
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
//數(shù)據(jù)庫連接字符串
optionsBuilder.UseSqlite("Data Source=ORM_Sqlite.db");//你的數(shù)據(jù)庫名稱
}
}
public class Student
{
[Key]//主鍵
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]//自動遞增
public int Id { get; set; }
public string Name { get; set; }
public int Age { get; set; }
public string Sex { get; set; }
}
}
添加測試Api
Tips:這里用到ORM查詢語法
EntityFramework EF 常用增刪改查語句
/// <summary>
/// <summary>
/// Sqlite測試
/// </summary>
/// <returns></returns>
[HttpGet]
public List<Student> SqlTest()
{
for(var i = 0; i < 5; i++)
{
_context.Students.Add(new Student()//插入數(shù)據(jù)庫,但是只在緩存中,并沒有真正更新
{
Age = i,
Name = "Lily" + i,
Sex = "女"
});
}
_context.SaveChanges();//和緩存同步,更新數(shù)據(jù)庫
var res = _context.Students.ToList();//返回所有數(shù)據(jù)
return res;
}
運行結(jié)果文章來源:http://www.zghlxwxcb.cn/news/detail-493150.html
文章來源地址http://www.zghlxwxcb.cn/news/detail-493150.html
到了這里,關(guān)于NET Core 6.0 webapi 簡單使用+連接數(shù)據(jù)庫的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!