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 中国大陆许可协议进行许可。

posted @   仲夏不凉爽  阅读(196)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
点击右上角即可分享
微信分享提示
💬
评论
📌
收藏
💗
关注
👍
推荐
🚀
回顶
收起
  1. 1 404 not found REOL
404 not found - REOL
00:00 / 00:00
An audio error has occurred.