C# 在api控制器中获取具有多个参数的字符串并对其进行解析
此方法接受以下类型的uri:C# 在api控制器中获取具有多个参数的字符串并对其进行解析,c#,parsing,controller,get,C#,Parsing,Controller,Get,此方法接受以下类型的uri: /method?a=1&b=2&c=3 [Route("method")] public string Get(string a, string b, string c) { return "ok"; } 但如果我将uri更改为其他内容 比如说/方法?a=1&b=2 那么这个方法就行不通了 如何编写控制器操作,使其在“?”符号后获得任何类型的字符串,然后将其作为组件进行分析?您可以将其作为可选参数,如 [Route("method")] publ
/method?a=1&b=2&c=3
[Route("method")]
public string Get(string a, string b, string c)
{
return "ok";
}
但如果我将uri更改为其他内容
比如说/方法?a=1&b=2
那么这个方法就行不通了
如何编写控制器操作,使其在“?”符号后获得任何类型的字符串,然后将其作为组件进行分析?您可以将其作为可选参数,如
[Route("method")]
public string Get(string a, string b, string c = "")
{
return "ok";
}
您可以将其设置为可选参数,如
[Route("method")]
public string Get(string a, string b, string c = "")
{
return "ok";
}
可以将默认值传递给参数
/method?a=1&b=2&c=3
[Route("method")]
public string Get(string a= "", string b = "", string c = "")
{
return "ok";
}
现在它将为您工作
/method
/method?a=1
/method?b=2
/method?c=3
和所有组合您可以将默认值传递给参数
/method?a=1&b=2&c=3
[Route("method")]
public string Get(string a= "", string b = "", string c = "")
{
return "ok";
}
现在它将为您工作
/method
/method?a=1
/method?b=2
/method?c=3
所有组合我认为这个问题在MVC4的某些版本中已经解决,您应该为如下参数定义默认值:
[Route("method")]
public string Get(string a = "", string b = "", string c = "")
{
return "ok";
}
我认为MVC4的一些版本已经解决了这个问题,您应该为如下参数定义默认值:
[Route("method")]
public string Get(string a = "", string b = "", string c = "")
{
return "ok";
}