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

邯郸网站建设咨询安联网络wordpress中文案例

邯郸网站建设咨询安联网络,wordpress中文案例,汽车网站策划,千度网站6.4.1 控制器父类用哪个 6.2小节和6.3小节所演示的ASP.NET Core Web API 的控制器类都继承自ControllerBase,而6.1中MVC的控制器继承自Controller,Controller又继承自ControllerBase。 所以,一般情况下,编写的WebAPI控制器类继承…

 6.4.1 控制器父类用哪个

6.2小节和6.3小节所演示的ASP.NET Core Web API 的控制器类都继承自ControllerBase,而6.1中MVC的控制器继承自Controller,Controller又继承自ControllerBase。

所以,一般情况下,编写的WebAPI控制器类继承自ControllerBase即可,当然也可以不继承任何类,例如:

6.4.2 操作方法的异步、返回值、状态码

1. 异步及返回值

IActionResult返回值:

添加一个Hello控制器并编写操作方法,并且在返回404异常码时添加异常原因

using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using System.ComponentModel.Design.Serialization;namespace WebApplicationTest.Controllers
{[Route("api/[controller]")][ApiController]public class HelloController : ControllerBase{[HttpGet]public IActionResult GetOrder(int id){if (id==1){return Ok(100);}else if (id==2){return Ok(200);}else{return NotFound("id错误");}}}
}

启动调试

异常:

由于IActionResult不包含返回值的类型信息,Swagger无法从操作方法中获取返回数据的类型信息,所以ASP.Net Core中提供了一个泛型ActionResult<T>

ActionResult<T>作为返回值,新增操作方法:

 [HttpGet("{id}")]public ActionResult<Person> GetOrderFX(int id){if (id == 1){return new Person("枸杞泡茶", 18);}else if (id == 2){return new Person("牧羊人", 27);}else{return NotFound("id错误");}}

启动调试:

2. 异常响应码及统一响应体

一般在项目开发中,需要统一响应报文体的格式,以便客户端进行错误处理。例如此处声明一个ErrorInfo类表示错误详情:

namespace WebApplicationTest
{public record ErrorInfo(int ErrorCode ,string ?Message);
}

改造【GetOrderFX】方法:

 [HttpGet("{id}")]public ActionResult<Person> GetOrderFX(int id){if (id<=0){return BadRequest(new ErrorInfo(100, "id需为正数!"));}else if (id == 1){return new Person("枸杞泡茶", 18);}else if (id == 2){return new Person("牧羊人", 27);}else{return NotFound(new ErrorInfo(100,"人员不存在!"));}}

启动调试

6.4.3 操作方法的参数从哪里来

给服务端WebAPI传参时,有URL、QueryString,请求报文体,三种

1. 从URL获取

例如新增一个控制器

 [HttpGet("N1/{number1}/N2/{number2}")]public int  Add(int number1,int number2){return number1+number2;}

启动调试

2. QueryString

对于通过QueryString传递的参数,使用 [FromQuery]获取值

编写一个控制方法:

[HttpPost]
public int AddQueryString([FromQuery]int number1, [FromQuery] int number2)
{return number1 + number2;
}

启动调试:

调试结果查看,默认的方式其实就是QueryString方式,如果需要显式设置:

 [HttpPost]public int AddQueryString([FromQuery]int number1, [FromQuery] int number2){return number1 + number2;}
3. 请求报文体

新增一个操作

[HttpPost]
public string AddUser(Person ppp1)
{return "保存成功!"+ppp1.Name +",Age:"+ppp1 .Age;
}

启动调试

Json请求报文体

响应:

当然,这几种方式也可以混用:

[HttpPut("{Name}")]
public string AddUser1(string Name, Person ppp1)
{return "保存成功!" + ppp1.Name + ",Age:" + ppp1.Age+","+Name;
}

启动调试

响应


文章转载自:

http://OArNjouT.jkfyt.cn
http://E8NfgwNh.jkfyt.cn
http://c0FcZkw8.jkfyt.cn
http://cFAdijdc.jkfyt.cn
http://lWJAxMMd.jkfyt.cn
http://asbkIVq2.jkfyt.cn
http://AiLaTfqQ.jkfyt.cn
http://YELvXCYQ.jkfyt.cn
http://t13IOUf5.jkfyt.cn
http://2T2l8tg7.jkfyt.cn
http://uOk5pmHE.jkfyt.cn
http://LzRNDKD9.jkfyt.cn
http://bu1zwJIQ.jkfyt.cn
http://ud2CPg3j.jkfyt.cn
http://MOuk4WfB.jkfyt.cn
http://TjiFkAQ5.jkfyt.cn
http://R6gvkCdX.jkfyt.cn
http://kiaEQagL.jkfyt.cn
http://Zp8LyObQ.jkfyt.cn
http://zylA7hG1.jkfyt.cn
http://XBzzpQBW.jkfyt.cn
http://Wfx2rbW2.jkfyt.cn
http://ecWoMmij.jkfyt.cn
http://y1YyDx75.jkfyt.cn
http://Msl0a0tu.jkfyt.cn
http://iIpiQJMq.jkfyt.cn
http://Tbk0ZrM7.jkfyt.cn
http://nsAW1WLD.jkfyt.cn
http://KzIH7dI1.jkfyt.cn
http://D2mnAsY6.jkfyt.cn
http://www.dtcms.com/wzjs/640744.html

相关文章:

  • 跟京东类似的网站即墨做网站
  • 富阳做网站方式定制制作网站价格
  • 保定 网站建设网站建设合同建设方注意事项
  • 最近中国新闻事件网站推广百度优化
  • 营销网站制作需要多少钱wordpress问答插件哪个好
  • 企业网站的常见服务是什么长春百度seo
  • 网站开发用什么语言最安全广州海珠区租房
  • 网站内容管理系统 下载网站建设前期如何规划
  • 网站论坛源码wordpress 头像缓存到本地
  • 查网站是什么公司做的wordpress 注册登陆插件
  • 河南建设银行官方网站纯静态网站页面优化
  • 门户网站建设管理工作方案wordpress主题慢
  • 山西省建设厅官方网站甘肃建投土木工程建设有限公司网站后台
  • 个人博客建站wordpress2015网站建设源码
  • 汉中微信网站建设wordpress 主题公园
  • 河南省做网站的公司有哪些做面包的网站
  • 南充市住房与城乡建设网站网站聚合搜索怎么做
  • 建站基础高端企业网站建设费用
  • 阿玛尼手表网站教育类网页设计素材
  • 交互式网站开发技术有哪些代发百度首页排名
  • 电子商城怎么注册seo网站页面优化包含
  • wordpress 亲子主题淄博 网站seo优化
  • 长沙做网站最好的公司有哪些找人 做网站 一般注意
  • 哪家做网站的好做网站开发的过程
  • 做神马网站优化快速php模板建站
  • 高安建站公司没有有知道钓鱼网站在哪儿做
  • 精品网站模板怎么找精准客户资源
  • 还有哪些方法让网站更加利于seo易语言做网站登陆
  • 租号网站开发盐城网站建设培训班
  • 网站超链接用什么吉水县建设局网站