[英]My minimal ASP.NET Core Web API returns error 405: Method not allowed
我想通過使用 put 動詞調用我的 api 端點來更新記錄,但不允許他返回錯誤 405 方法。
我的 api 端點:
app.MapPut("/sirs/{Id}", async (int Id, SIRCContext db, Sir sirc) =>
{
var record = await db.Sirs.FindAsync(Id);
if (record is null)
return Results.NotFound();
record.ActionTaken = sirc.ActionTaken;
record.Status = sirc.Status;
record.ResolvedDate = sirc.ResolvedDate;
record.FurtherActionRequired = sirc.FurtherActionRequired;
await db.SaveChangesAsync();
return Results.NoContent();
});
我的客戶代碼:
public async Task UpdateSIRC(int id, Sir sirc)
{
try
{
await SetAuthToken();
var response = await _httpClient.PutAsJsonAsync($"/sirs/{id}", sirc);//Error here
response.EnsureSuccessStatusCode();
statusMessage = "Update Successful";
}
catch (Exception)
{
statusMessage = "Failed to update data.";
}
}
我發現將以下內容添加到 web.config 是可行的。 api 僅在調試模式下工作,當部署到 IIS 時不工作。
<system.webServer>
<modules runAllManagedModulesForAllRequests="false">
<remove name="WebDAVModule" />
</modules>
</system.webServer>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.