【发布时间】:2018-12-19 15:31:01
【问题描述】:
我在我的 ASP.Net MVC 项目的控制器中编写了一个新方法,并在下面出现错误。我认为 InvalidOperationException 来自 Swagger。我将其标记为“忽略的 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;
}
}
但在运行时出现此错误:
处理请求时发生未处理的异常。
InvalidOperationException: Action 'Gorilla.WebApi.Source.Controller.Campaigns.BeverageCapacityCampaignController.CalculatePriceWithCampaign (Gorilla.WebApi)' 有多个参数被指定或推断为从请求正文绑定。每个动作只能从正文绑定一个参数。检查以下参数,并使用“FromQueryAttribute”指定从查询绑定,“FromRouteAttribute”指定从路由绑定,并使用“FromBodyAttribute”指定从正文绑定的参数:
BeverageCapacityCampaign 活动
饮料容量
我可以找到建议检查 nuget 的信息,但我所有的 Nuget 都是最新的。
【问题讨论】:
标签: c# asp.net-mvc