我正在撰寫 .Net Core WebAPI,這里我正在撰寫兩種 HttpGet 方法,一種是獲取所有記錄而不考慮引數,另一種是使用引數(大約 25 個引數),但我收到 AmbigousMatchException 錯誤。
我該如何解決這個問題?

下面是代碼。
[Route("api/[controller]")]
[ApiController]
public class SummaryReportController : Controller
{
DataProvider dp = new DataProvider();
private readonly IConfiguration _configuration;
public SummaryReportController(IConfiguration configuration)
{
_configuration = configuration;
}
[HttpGet]
public JsonResult GetSummaryReport()
{
dp.ConnectionString = _configuration.GetConnectionString("conAccounting_SQLWeb");
DataSet ds = new DataSet();
ds = dp.GetDataSetSProc("uspFreight_SearchFreight");
DataTable dt = ds.Tables[0];
return new JsonResult(dt);
}
[HttpGet]
public JsonResult GetSummaryReportWithParams(SummaryReport sm)
{
dp.ConnectionString = _configuration.GetConnectionString("conAccounting_SQLWeb");
DataSet ds = new DataSet();
SqlParameter[] paramChk = new SqlParameter[21];
paramChk[0] = new SqlParameter("@VendIDName", sm.VendID);
paramChk[1] = new SqlParameter("@BOLNumber", sm.BOLNumber);
paramChk[2] = new SqlParameter("@BOLWeightFrom", sm.BOLWeightFrom);
paramChk[3] = new SqlParameter("@BOLWeightTo", sm.BOLWeightTo);
paramChk[4] = new SqlParameter("@InvoiceAmtFrom", sm.InvoiceAmountFrom);
paramChk[5] = new SqlParameter("@InvoiceAmtTo", sm.InvoiceAmountTo);
paramChk[6] = new SqlParameter("@DistanceFrom", sm.DistanceFrom);
paramChk[7] = new SqlParameter("@DistanceTo", sm.DistanceTo);
paramChk[8] = new SqlParameter("@InvoiceDateFrom", sm.InvoiceDateFrom);
paramChk[9] = new SqlParameter("@InvoiceDateTo", sm.InvoiceDateTo);
paramChk[10] = new SqlParameter("@ShipmentDateFrom", sm.ShipmentDateFrom);
paramChk[11] = new SqlParameter("@ShipmentDateTo", sm.ShipmentDateTo);
paramChk[12] = new SqlParameter("@ShipperZip", sm.ShipperZip);
paramChk[13] = new SqlParameter("@ConsigneeCityState", sm.ConsigneeCityState);
paramChk[14] = new SqlParameter("@ConsigneeZip", sm.ConsigneeZip);
paramChk[15] = new SqlParameter("@ConsigneeCode", sm.ConsigneeCode);
paramChk[16] = new SqlParameter("@ConsigneeName", sm.ConsigneeName);
paramChk[17] = new SqlParameter("@WhseID", sm.WhseID);
paramChk[18] = new SqlParameter("@LTLFTL", sm.LTLFTL);
paramChk[19] = new SqlParameter("@TRSO", sm.TRSO);
paramChk[20] = new SqlParameter("@FTL", sm.FTL);
ds = dp.GetDataSetSProcWithProc("uspFreight_SearchFreight", paramChk);
DataTable dt = ds.Tables[0];
return new JsonResult(dt);
}
}
uj5u.com熱心網友回復:
嘗試更改[Route("api/[controller]")]為[Route("api/[controller]/[action]")]
則默認的動作路由SummaryReportController 將是api/SummaryReport/{actionname}。你可以參考官方
uj5u.com熱心網友回復:
將引數添加到第二個端點的路由 [HttpGet("{sm}")]
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/364420.html
標籤:C# 有角的 asp.net核心 asp.net-web-api 网络接口
