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

免费网站空间论坛商务网站的建设与维护

免费网站空间论坛,商务网站的建设与维护,网络系统建设与运维高级,中国建设第一平台网站ASP.NET Core为Web API控制器方法返回类型提供了如下几个选择#xff1a; Specific type IActionResult ActionResultT 1. 返回指定类型#xff08;Specific type#xff09; 最简单的API会返回原生的或者复杂的数据类型#xff08;比如#xff0c;string 或者… ASP.NET Core为Web API控制器方法返回类型提供了如下几个选择 Specific type IActionResult ActionResultT 1. 返回指定类型Specific type 最简单的API会返回原生的或者复杂的数据类型比如string 或者自定义对象类型。考虑如下的Action方法其返回了一个自定义的Author对象的集合。 [HttpGet] public ListAuthor Get()     _repository.GetAuthors();      [HttpGet] public IEnumerableAuthor Get() {    return _repository.GetAuthors(); }  从 NetCore 3.0 开始你不仅可以定义同步形式的 IEnumerableAuthor方法也可以定义异步形式的 IAsyncEnumerableT方法不同点在于后者是一个异步模式的集合好处就是不会导致同步迭代既不阻塞数据库也不阻塞主线程。 下面的代码展示了如何改造 Get 方法两个方法返回都是不阻塞的 [HttpGet] public IEnumerableAuthor Get() {     var authors _repository.GetAuthors();// 需要等待authors全部查询完成才会进入下一步迭代但是返回时又做了一个判断筛选返回是不阻塞的     foreach (var author in authors) // 适合数据库量大时只做全部查询然后通过foreach筛选yield迭代返回     {         if(author.isMale){              yield return author;         }      } } [HttpGet] public async IAsyncEnumerableAuthor Get() //异步迭代既不会阻塞数据库也不阻塞主线程 {    var authors GetAuthorsAsync(); // 使用GetAuthorsAsync异步方法不用authors查询完毕就会进入下一步迭代返回authors    await foreach (var author in authors)    {         yield return author;    } }  2. 返回 IActionResult 实例 如果你要返回 data httpcode 的双重需求那么 IActionResult 就是你要找的东西下面的代码片段展示了如何去实现。 [HttpGet] public IActionResult Get() {   if (authors null)       return NotFound(No records); return Ok(authors); // 必须有Ok等方法包装 } 上面的代码有 OkNotFound 两个方法对应着 OKResultNotFoundResult Http Code 对应着 200404。当然还有其他的如CreatedResult, NoContentResult, BadRequestResult, UnauthorizedResult, 和 UnsupportedMediaTypeResult都是 IActionResult 的子类。 3. 返回 ActionResultT 实例 ActionResultT包装了前面这种模式可以返回 IActionResultdata httpcode也可以返回指定类型T [HttpGet] public ActionResultIEnumerableAuthor Get() {   if (authors null)        return NotFound(No records);    return authors; } 和之前IActionResult的 Get 方法相比这里如果不需要返回httpCode则直接返回 authors 而不需要再用 OK(authors) 包装是一个非常好的简化而IActionResult必须要使用Ok等包装一下返回。 接下来再把 Get 方法异步化 [HttpGet] public async TaskActionResultIEnumerableAuthor Get() {    var data await GetAuthors();    if (data null)         return NotFound(No record);    return data; } 如果你有一些定制化需求可以实现一个自定义的 ActionResult 类做法就是实现 IActionResult 中的 ExecuteResultAsync 方法即可。 如果您喜欢此文章请收藏、点赞、评论谢谢祝您快乐每一天。
http://www.hkea.cn/news/14505039/

相关文章:

  • 在哪个网站做推广好wordpress门户模板
  • 做游戏直播什么游戏视频网站好搜索关键词的网站
  • 制作网站不给源代码东莞疾控中心最新通知
  • 做网站不给源码华为手机官网商城
  • 北京朝阳区建设工作办公网站各网站的网络联盟
  • 有什么好黄页网站网站设计包括
  • 网站维护的重要性地方门户类网站有哪些
  • 犀浦网站建设正规代运营公司排名
  • 义乌网站建设技术托管怎么建论坛网站
  • 怎么做快法务类似网站公众号模板制作精美
  • 副业做网站程序网站建设后的心得
  • 企业网站备案网址校园网网站建设费用
  • 模板 网站 教程ae资源网免费
  • 房产网站怎么做友链交换平台
  • 网站建设的流程图wordpress 阿里云
  • 长春个人做网站哪家好那个外贸网站做的好
  • 宿迁房产网官方网站长春做官网的公司
  • 西安免费做网站机构广告公司是干什么的
  • seo排名工具站长网站怎么做二维码链接
  • 安阳网站推广珠海市网站建设怎么样
  • 东莞找工作一般在哪里找优化课程设置
  • 大连网页网站制作网站建设的前途
  • 聊城网站开发公司北京百姓网免费发布信息网
  • 可视化响应式网站建设望京 网站开发
  • 扁平化网站后台网站建设设计
  • 易尔通做网站怎么样网站设置文件
  • 聊城网站那家做的好网站开发项目立项报告范文
  • 最高级网站建设著名建筑网站
  • 精品课程网站开发平台网站建设课程思政
  • 单位网站查询工资链接怎么做福田时代汽车官方网站