当前位置: 首页 > news >正文

Backend - HTTP请求的常用返回类型(asp .net core MVC)

目录

一、ViewResult 类型

1. 写法

2. 用途

二、RedirectToActionResult 类型

1. 写法

2. 用途

三、ContentResult 类型

1. 写法

2. 用途

四、OkObjectResult 类型

1. 写法

2. 用途

五、JsonResult

1. 写法

2. 用途


以下介绍几种 IActionResult 的类型

一、ViewResult 类型

1. 写法

// AccountController类下的Login方法
public IActionResult Login()
{var model = new LoginViewModel();return View(model); // 对应Views/Account/Login.cshtml
}

2. 用途

        返回 Razor 页面,一般在 MVC 控制器中使用。

        常用于登录页、主页、表单页等需要视图渲染的场景。

二、RedirectToActionResult 类型

1. 写法

public IActionResult Logout()
{HttpContext.SignOutAsync();return RedirectToAction("Login", "Account");
}

2. 用途

        服务器端重定向到另一个 Action。

        常用于登录后跳转、提交表单成功后重定向到主页、退出登录后返回登录页。

三、ContentResult 类型

1. 写法

public IActionResult ForceLogout()
{return Content("<script>window.top.location.href='/Account/Login';</script>", "text/html");
}

2. 用途

        直接返回一段字符串作为 HTTP 响应。

        常用于用户登录超时、将当前页面跳出 iframe 、让顶层窗口跳转(而不是标签页内部)。

四、OkObjectResult 类型

1. 写法

[HttpGet]
public IActionResult GetMenuTree()
{var tree = _menuService.GetTree();return Ok(tree);
}

在tree传入前端时,会自动处理成JSON格式

{"id": 1,"name": "系统管理","children": [...]
}

2. 用途

        返回 HTTP 200 状态的 JSON 数据。

        常用于Web API 推荐写法、以及Layui、Vue、React 前端请求数据。

五、JsonResult

1. 写法

public IActionResult GetUserPermissions()
{var rp = _userService.GetRolePermission(User.Identity.Name);return Json(new { menus = new List<int> { rp.MenuId }, buttons = rp.ButtonCodes });
}

在传入前端时,会处理成JSON格式

{"menus": [1, 2, 3],"buttons": ["Add", "Edit", "Delete"]
}

2. 用途

        直接返回 JSON 格式内容。

        与 Ok()很像,Ok(object) 更符合 REST 风格,Json(object) 是 MVC 传统写法。

http://www.dtcms.com/a/545125.html

相关文章:

  • 国内最大的网站制作公司免费创建属于自己的网站
  • [人工智能-大模型-103]:模型层 - M个神经元组成的单层神经网络的本质
  • 【面试题】缓存先删后写如何避免窗口期的旧数据写入缓存
  • 扩展名网站最新新闻事件摘抄
  • 网站免费推广方法网站正能量免费推广软件
  • Spring Boot3零基础教程,配置 GraalVM 环境,笔记88
  • TCN-Transformer-LSTM多特征分类预测Matlab实现
  • 进程 线程 协程基本概念和区别 还有内在联系
  • Linux(1)rsyslog(1)基础使用
  • Arbess零基础学习,安装与配置
  • 温州网站建设seo跨境电商平台shopee
  • Rust——Tokio的多线程调度器架构:深入异步运行时的核心机制
  • webpack - 常用的 CSS 加载器(webpack与其常见loader加载器使用方式)
  • PyTorch2 Python深度学习 - 张量(Tensor)的定义与操作
  • 微信小程序开发案例 | 通讯录小程序(上)
  • 做网站要学什么专业大连谷歌seo
  • 深圳做网站公司营口化工网站建设
  • CUDA-GDB(13)——支持的平台及常见问题解决
  • Warp是什么
  • Go语言设计模式:建造者模式详解
  • 外观模式:复杂系统的统一入口
  • 个人做网站模版是否有人买如何引用网站图片
  • 库卡机器人通讯-EtherKRL-XML格式
  • 自动驾驶技术全景解析:从感知、决策到控制的演进与挑战
  • 建站平台在线提交表格apache 配置网站
  • 前端HTTP,JavaScript,网络
  • 汽车充电站光储充项目方案
  • 为什么Service层和Mapper层需要实现interface接口
  • 杭州做网站公司排名建筑工人招工网
  • 服务RejectedExecutionException问题对Semaphore的思考