gpt4 book ai didi

c# - 路由可选参数

转载 作者:行者123 更新时间:2023-11-30 20:05:20 24 4
gpt4 key购买 nike

我正在开发我的第一个 web api,但我一直在尝试为这些 url 创建规则

1) http://mydomain.com/values/4 --> this number can be any, this is just an example
2) http://mydomain.com/values/
3) http://mydomain.com/values/?param1=test1&param2=test2
4) http://mydomain.com/values/?param1=test1
5) http://mydomain.com/values/?param2=test2

我当前的路由规则是

routes.MapHttpRoute(
name: "Route1",
routeTemplate: "{controller}/{id}/"
);
routes.MapHttpRoute(
name: "Route2",
routeTemplate: "{controller}/{param1}/{param2}",
defaults: new { param1 = RouteParameter.Optional, param2 = RouteParameter.Optional }
);

以及我提供这些 url 的方法

// GET values/
// GET values/?param1=test1&param2=test2
// GET values/?param1=test1
// GET values/?param2=test2
public IEnumerable Get(string param1, string param2)
{
return new string[] { "value1", "value2" };
}

// GET values/5
public string Get(int id)
{
return "value";
}

我有两个问题

1) http://mydomain.com/values/ 没有解析

2) http://mydomain.com/values/?param1=test1http://mydomain.com/values/?param2=test2 不是解决。

你能帮我创建路由来提供这些 url 吗?

最佳答案

routes.MapHttpRoute(
name: "Route1",
routeTemplate: "{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);

应该做你需要的。 Query string参数已经映射到Action参数,只要它们同名即可,无需在路由中添加。

关于c# - 路由可选参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11527570/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com