WebAPI 参数、路由配置

一、默认路由

路由配置:

HttpConfiguration config = new HttpConfiguration();
config.Routes.MapHttpRoute(
    name: "DefaultApi",
    routeTemplate: "api/{controller}/{id}",
    defaults: new { id = RouteParameter.Optional });

控制器:

 public class TestController : ApiController
 {
     [HttpGet]
     public string GetString()
     {
         return   "TESTAPI";
     }

     [HttpGet]
     public string GetString(string str)
     {
         return str + "TESTAPI";

     }
 }

无参数
在这里插入图片描述
单一的参数(值类型或string)
在这里插入图片描述
传入参数为类时

[HttpGet]
public DeviceStopModel GetString([FromUri] DeviceStopModel model)
{
    return model;
}

在这里插入图片描述

  1. 传入参数的参数名需要和url中的键名称一致
  2. 当同一控制器中同一请求方式存在多个方法参数个数相同,参数名称相同且使用默认路径时会报匹配失败的错误

匹配失败的情况(可使用增加action和自定义路由(Route)特性的方式解决)

 [HttpGet]
 public string GetString2(string id)
 {
     return id + "TESTAPI";

 }

 [HttpGet]
 public string GetString2(int id)
 {
     return id + "TESTAPI";

 }

在这里插入图片描述

二、POST

在这里插入图片描述

自定义路由

在这里插入图片描述

指定路由前缀
在这里插入图片描述
启用自定义路由

    // 启用特性路由
    config.MapHttpAttributeRoutes();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值