我正在使用Castle Windsor作爲DI並使用reposity來訪問和實現數據層。 由於我已經在我的倉庫中實現了所有的數據訪問層,現在可以在我的API控制器中調用這些方法了。然而,當我這樣做,我收到錯誤消息:如何在MVC中的控制器API中調用Void方法模型?
從回購的方法是如下:
public void CreateReport(TReportHeaderModel model)
{
using (var connection = new TReportEntitiesConnection())
{
connection.THeader.Add(new THeader()
{
ClientID=model.ClientID,
ID=model.ID,
THeaderTitle=model.THeaderTitle,
RowNumber=model.RowNumber
});
foreach (var d in model.TReports)
{
connection.TReport.Add(new TReport()
{
ID=d.ID,
TReportName=d.TReportName,
URL=d.URL,
RowNumber=d.RowNumber,
});
}
connection.SaveChanges();
}
throw new NotImplementedException();
}
,當我將其移動到我的API控制器,因爲我要通過這些在HTTP JSON格式:
[HttpPost]
public CreateReport([FromBody] TReportHeaderModel model) //Method must have a return type
{
try
{
_tReportingService.CreateReport(model);
return new ActionResultModel() //return void, must not be followed by object expression
{
Success = true,
Message = "Report Successfully Created."
};
}
catch (Exception ex)
{
return new ActionResultModel()
{
Success = false,
Message = "Report not created.",
Obj=ex.Message
};
}
}
函數需要返回類型。在你的情況,只需將其更改爲'公共ActionResultModel CreateReport([FromBody] TReportHeaderModel模型)''。 –
我沒有意識到我錯過了它。非常感謝!如果你在帖子中發佈你的答案,我將確保投票。 –