AspNetCore 路由
1.Http特性
除了使用[Route]特性外,常见的是使用http特性
Http特性 Http方法 URL示例
[HttpGet] Get api/blogs
[HttpPost] Post api/blogs
[HttpPut] Put api/blogs/1
[HttpPatch] Patch api/blogs
[HttpDelete] Delete api/blogs/1
2.重定向
//重定向到指定的URL
Redirect("http://www.baidu.com")
//重定向到当前应用程序的另一个URL
LocalRedirect("account/login")
//重定向到指定的action
RedirectToAction("login")
//重定向到指定的路由
RedirectToRoute("default",new{action="login",controller="account"});
3.返回结果
在ControllerBase类中,对于经常用到的状态码结果都提供了一个相应的方法用以直接返回相应的对象
状态码结果对象 对应的状态码 描述 ControllerBase中的方法
OkResult 200 操作成功 Ok()
BadRequestResult 400 错误的请求 BadRequest()
NotContentResult 204 操作成功,但未返回任何内容 NoCountent()
NotFound 404 请求资源找不到 NotFound()
UnauthorizedResult 401 未授权 Unauthorized()
UnsupportedMediaTypeResult 415 无法处理请求附带的媒体格式 无
4.Mvc返回结果类型
ViewResult 视图
PartialViewResult 部分视图
JsonResult JSON
ContentResult JSON return JSON() 或 return Content()
5. 模型绑定
使用下列特性制定不同的绑定源
[FromHeader] 从Http请求的Header中获取参数的值
[FromQuery] 从查询字符串中获取参数的值 HttpContext.Request["param"]
[FromServices] 从依赖注入容器中获取参数的值
[FromRoute] 从路由中获取参数的值
[FromForm] 从表单中获取该参数的值
[FromBody] 从http请求的消息正文中获取参数的值
另外,还有两个特性用于知名参数是否需要绑定
BindRequiredAttribute:如果没有值绑定到此参数,或绑定不成功,这个特性将添加一个ModelState错误,这也是之前用 AspNet模型绑定用于验证的判断依据
BindNeverAtrribute 进行模型绑定时,忽略此参数
例如
[HttpPost]
public IActionResult Post([FromBody] BlogDto blog,[FromHeader] string clientId)
{
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!