私はDIとしてCastle Windsorを使用しており、データ層にアクセスして実装するためにリポジトリを使用しています。 レポにすべてのデータアクセスレイヤーを実装したので、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
};
}
}
関数を戻り値の型を持っている必要があります。あなたのケースでは、それを 'public ActionResultModel CreateReport([FromBody] TReportHeaderModelモデル)'に変更してください。 –
私はそれを見逃していたことを私は気付かなかった。どうもありがとうございます!投稿に回答を投稿する場合は、必ず投票します。 –