C# &引用;没有路线与提供的值相匹配;再一次
我正在使用ASP.NETCore3WebAPI。尝试使用C# &引用;没有路线与提供的值相匹配;再一次,c#,asp.net-core,.net-core,asp.net-core-webapi,C#,Asp.net Core,.net Core,Asp.net Core Webapi,我正在使用ASP.NETCore3WebAPI。尝试使用createDataAction为创建的实体设置位置标头时,它因System.invalidoOperationException失败:没有路径与提供的值匹配。到目前为止我找到的所有答案都没有解决我的问题此问题应通过升级Microsoft.AspNetCore.Mvc.Versioning到4.2或更高版本来解决。请参阅GitHub上的。原因是在v4.2之前,API版本在URL生成期间未作为环境值处理,因此必须显式提供。换句话说,在v4.2
createDataAction
为创建的实体设置位置标头时,它因System.invalidoOperationException失败:没有路径与提供的值匹配。
到目前为止我找到的所有答案都没有解决我的问题此问题应通过升级Microsoft.AspNetCore.Mvc.Versioning
到4.2或更高版本来解决。请参阅GitHub上的。原因是在v4.2之前,API版本在URL生成期间未作为环境值处理,因此必须显式提供。换句话说,在v4.2之前,您必须编写以下内容:
[HttpPost(ReportsSegment)]
public ActionResult<ReportModel> CreateReport(ApiVersion apiVersion)
{
// ...
var entity = new ReportModel { ReportId = 2 };
return CreatedAtAction(nameof(GetReport), new { reportId = entity.ReportId, version = apiVersion.ToString() }, entity);
}
[HttpPost(ReportsSegment)]
public ActionResult CreateReport(ApiVersion ApiVersion)
{
// ...
var entity=new ReportModel{ReportId=2};
返回createDataAction(nameof(GetReport),新的{reportId=entity.reportId,version=apiVersion.ToString()},entity);
}
谢谢!将Microsoft.AspNetCore.Mvc.Versioning更新为5.0.0版后,问题消失了