[英]Why return object in WebAPI POST method with CreatedAtAction?
[英]How to access object in ActionResult<object> or routeValues from CreatedAtAction() return in .NET Core 3.0?
我有一個帶有以下代碼的控制器方法:
public async Task<ActionResult<Project>> Create(Project project)
{
project.CreatedAt = DateTime.Now;
project.UpdatedAt = DateTime.Now;
project.CreatedAtSystemUserId = new Guid();
project.UpdatedAtSystemUserId = new Guid();
Context.Projects.Add(project);
await Context.SaveChangesAsync();
return CreatedAtAction("GetProject", new { id = project.ProjectId }, project);
}
我從 Blazor 組件調用Create()
方法:
protected async void BtnSaveProject_Click()
{
var response = await ProjectService.Create(Project);
var project = response.Result.Value;
// NagivationManagerHelper.NavigateTo(string.Format("/projects/{0}", project.ProjectId.ToString()));
}
當我嘗試引用response.Result.Value
InteliSense 告訴我 ActionResult 沒有 Value 的定義,但是當我通過調試器運行此代碼並檢查response
我可以看到Result
具有Value
。 為什么我不能在代碼中引用它?
CreateAtAction() 返回CreatedAtActionResult類型。 您可以通過以下方式直接訪問其值
var response = await ProjectService.Create(Project);
var project = response.Value;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.