'尝试使用两个参数创建一个web api控制器:一个模型对象和一个字符串。
public string AddDevice(Device device, [FromBody] string userName)
{
// Some operations here
}
当我在fiddler上使用一个参数尝试时: 对于Device对象(正文请求):
{
"DeviceName":"name,
"StolenFlag":false
}
对于字符串“[FromBody] string userName”(正文请求):
"userName"
工作正常。我只是不知道如何使这个方法适用于这两个参数。当我尝试在提琴手上连接请求体时:
{
"DeviceName":"name,
"StolenFlag":false
}
"userName"
我收到500错误。这意味着,该服务器找到正确的控制器方法但无法处理请求。有什么想法吗?
答案 0 :(得分:0)
首先将以下行添加到App_Start文件夹中的WebApiConfig.cs。
GlobalConfiguration.Configuration.IncludeErrorDetailPolicy = IncludeErrorDetailPolicy.Always;
它进入这个功能:
public static void Register(HttpConfiguration config)
构建API并从响应中读取完整的错误消息。这应该告诉你到底发生了什么。
由于您在Request主体中只能有一个参数,因此您可以将方法更改为接受URI中的用户名。
public string AddDevice([FromBody] Device device, string userName)
{
// Some operations here
return "";
}