Net Core Razor 整合 Api 功能
1、首先利用 Visual Studio 2019 创建 Net Core Web应用
2、在 Startup.cs 的函数 ConfigureServices 添加 services.AddControllers();
public void ConfigureServices(IServiceCollection services) { services.AddRazorPages(); services.AddControllers(); }
3、在 Startup.cs 的函数 Configure 添加 endpoints.MapControllers();
app.UseEndpoints(endpoints =>
{
endpoints.MapRazorPages();
endpoints.MapControllers();
});
4、在项目根目录建立新目录 Controllers
5、在 Controllers 右键->添加->控制器 ,弹出的对话框选择 API->包含读写操作的API控制器
6、在弹出类名时 改成 MyController.cs ,完成创建
7、为了调试方便,建立 Swagger
7.1 添加nuget包:Swashbuckle.AspNetCore
7.2 在 Startup.cs 的函数 ConfigureServices 添加
public void ConfigureServices(IServiceCollection services)
{
services.AddRazorPages();
services.AddControllers();
services.AddSwaggerGen(c =>
{
c.SwaggerDoc("v1", new OpenApiInfo { Title = "NetCoreRazor", Version = "v1" });
});
}
7.3 在 Startup.cs 的函数 Configure 添加
7.3.1 调试阶段
if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); } else { app.UseExceptionHandler("/Error"); // The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts. app.UseHsts(); app.UseSwagger(); app.UseSwaggerUI(c => c.SwaggerEndpoint("/swagger/v1/swagger.json", "NetCoreRazor v1")); }
7.3.2 运行阶段
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
app.UseSwagger();
app.UseSwaggerUI(c => c.SwaggerEndpoint("/swagger/v1/swagger.json", "NetCoreRazor v1"));
}
8、运行调试 在原来的主页网址 localhost:44395 后面添加 /swagger/ ,完整地址如下 localhost:44395/swagger/ 运行后界面如下,成功!