我在ASP.Net MVC项目的控制器中写了一个新方法,并在下面出现错误。我认为InvalidOperationException来自Swagger。我将其标记为“ ignored Api”,希望它将跳过该方法,但错误仍然存在:
[ApiExplorerSettings(IgnoreApi = true)]
public decimal CalculatePriceWithCampaign(
BeverageCapacityCampaign campaign,
BeverageCapacity capacity,
int count = 1)
{
switch (campaign.DiscountType)
{
case DiscountType.Fixed:
return (capacity.CapacityPrice - campaign.DiscountValue) * count;
case DiscountType.Percentage:
return (capacity.CapacityPrice * count) * campaign.DiscountValue;
default:
return capacity.CapacityPrice;
}
}
Run Code Online (Sandbox Code Playgroud)
但是在运行时出现此错误:
处理请求时发生未处理的异常。
InvalidOperationException:操作'Gorilla.WebApi.Source.Controller.Campaigns.BeverageCapacityCampaignController.CalculatePriceWithCampaign(Gorilla.WebApi)'具有多个参数,这些参数已从请求正文中指定或推断为绑定。每个动作只能绑定一个参数。检查以下参数,并使用'FromQueryAttribute'指定从查询绑定的边界,'FromRouteAttribute'指定从路由绑定的边界,以及'FromBodyAttribute'用于从body绑定的参数:
BeverageCapacityCampaignCampaign广告系列
BeverageCapacity容量
我可以找到建议检查nuget的信息,但是我所有的Nuget都是最新的。