Asp.net web api 将空字符串传递给Web API 2(Visual Studio 2013)

Asp.net web api 将空字符串传递给Web API 2(Visual Studio 2013),asp.net-web-api,visual-studio-2013,asp.net-mvc-5,Asp.net Web Api,Visual Studio 2013,Asp.net Mvc 5,我有这样一种方法: public IEnumerable<Test> GetTest(Int32 idTest, String codTest, Int value) client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); response = await client.GetAsync("Test/GetTest/0/null/1/");

我有这样一种方法:

public IEnumerable<Test> GetTest(Int32 idTest, String codTest, Int value)
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
response = await client.GetAsync("Test/GetTest/0/null/1/");
我需要在第二个参数中传递null,这不是可选的,但在服务器端,我得到一个包含null的字符串,而不是null值。我不想为每个参数设置转换函数。如果我只将[FromBody]属性设置为一个参数,我发现这是可行的,但是如果我为所有字符串参数设置[FromBody],我会得到内部服务器错误


谢谢。

你通常不应该在路线中间有可选参数。 我建议更改参数的顺序,或者将它们添加为查询参数,以便它们可以是可选的

e、 g.为了


我知道,但是我需要在中间传递可选参数,因为我的API是另一个库的包装。谢谢
public IEnumerable<string> GetTest(Int32 idTest)
{
    var queryPairs = Request.GetQueryNameValuePairs();
    DoSomething(queryPairs);
    ...
}