Web Api路由和参数的接收
路由和参数的接收
首先什么是路由
在我们创建的Controllers里面的xxxContoller会发现[Route("api/[controller]")]
这段代码有什么意义呢
实际Route
规定了我们的路由,
路由体现在URL里
http://localhost/api/controller?query
[controlller]
中括号 差不多就是代表占位符
看代码
[ApiController] //Url不区分大小写 //[action] 是你的方法名字 GetData [Route("api/[controller]/[action]")] public class TestController : ControllerBase { [HttpGet] public string GetData() { return "1"; } }
那么我们访问的url就是http://localhost/api/test/getdata
去掉action的[[Route("api/[controller]")]]
那么我们的url就是http://localhost/api/test
去掉api/的[[Route("[controller]")]]
那么我们的url就是http://localhost/test
我们代码里会有不知一个Get请求,那么我们需要区分每个方法
看代码
[ApiController] [Route("api/[controller]")] public class TestController : ControllerBase { //出去使用[action]占位的方式还有两种方式 第一种直接[HttpGet("xxxx")] /* [HttpGet("xxx")] public string GetData() { return "1"; }*/ //第二种使用[Route("xxx")] [HttpGet] [Route("xxxx")] public string GetData() { return "1"; } }
那么我们访问的url就是http://localhost/api/test/xxx
细心的小伙伴能回会发现创建的有个Name 属性
那么他代表什么呢
Name,目前测试可以用于寻址,其它作用不明 ,有兴趣去查查官方文档吧
[HttpGet(Name = "GetWeatherForecast")]
第二个参数啥意思我也不知道,没研究过也没用过这个 string uri = Url.Link("GetWeatherForecast",""); //输出 https://localhost:7049/WeatherForecast?Length=0
接收参数
接收参数的方法大概以下几种
FromBody //application/json FromForm //前端的默认消息类型 FromHeader //从请求头里获取 FromQuery //从参数里获取 FromRoute //从路由中获取 FromServices //这个Jwt篇讲解
无标签
本文作者:仲夏不凉爽
本文链接:https://www.cnblogs.com/xiangshifu/p/15987020.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)