我有几个不同类型的参数需要作为操作。
public class MyController : ApiController
{
[HttpPost]
public UpdateFeatureResponse UpdateFeature(UpdateFeatureResuest reqResuest)
{
return new UpdateFeatureResponse { IsSuccess = true };
}
[HttpPost]
public DeleteFeatureResponse DeleteFeature(DeleteFeatureRequest request)
{
return new DeleteFeatureResponse{ IsSuccess = true };
}
}
我的请求类型是这样的:
public class UpdateFeatureResuest
{
public int Id { get; set; }
public string Feature { get; set; }
}
public class UpdateFeatureResponse
{
public bool IsSuccess { get; set; }
}
public class DeleteFeatureRequest
{
public int Id { get; set; }
}
public class DeleteFeatureResponse
{
public bool IsSuccess { get; set; }
}
路由在这里:
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
当我通过 Fiddler 发送请求 http://localhost:52285/api/My/UpdateFeature
时,它返回了 HTTP/1.1 500 内部服务器错误
错误消息如下:
{"message":"发生了一个错误。","exceptionMessage":"找到多个匹配请求的操作:\r\nWebGUI.Controllers.MyController 上的 UpdateFeature\r\nWebGUI.Controllers.MyController 上的 DeleteFeature", "exceptionType":"System.InvalidOperationException","stackTrace":" …..