Rest API实现,是Web项目的运行项目,与普通的ASP.NET Core
项目没什么区别。
本模板项目配置,与正常的ASP.NET Core
项目没什么不同,只是加入了集成前端的功能,如果你不需要,可以删除.
<SpaRoot>ClientApp\</SpaRoot> <SpaProxyServerUrl>https://localhost:14200</SpaProxyServerUrl>
以及
<ItemGroup> <PackageReference Include="Microsoft.AspNetCore.SpaProxy" Version="7.0.5" /> </ItemGroup>
Program是ASP.NET Core
中极其重要的入口类,在这里我们需要完成配置
,服务注入
,中间件
等各类准备工作。
本模板默认配置了以下内容:
PostgreSQL
app.UseExceptionHandler
CustomBadRequest
InitDataTask
可以根据实际需求自由替换。
自定义中间件实现
EF Core 生成的迁移文件
定义后台任务服务
整体使用RESTful风格,优先使用ASP.NET Core
框架本身提供的功能。
返回以HTTP状态码为准。
错误返回的格式如下:
{ "title": "", "status": 500, "detail": "未知的错误!", "traceId": "00-d768e1472decd92538cdf0a2120c6a31-a9d7310446ea4a3f-00" }
// 修改信息 [HttpPut("{id}")] public async Task<ActionResult<TEntity?>> UpdateAsync([FromRoute] Guid id, TUpdate form)
Note
不建议在接口方法中使用[Route()]
来定义方法的路由,请使用更直观和明确的HTTP谓词方式。
// 如果错误,使用Problem返回内容 return Problem("未知的错误!", title: "业务错误");
// 如果不存在,返回404 return NotFound("用户名密码不存在");
Note
不建议使用统一的自定义返回模型,请优先使用HTTP状态码表达返回的含义。 如需要自定义错误码,也可通过添加模型字段,而不是使用统一的返回类型。