ASP.NET Core 3.1 无法获取 Odata 查询参数
ASP.NET Core 3.1 unable to get Odata Query parameter
使用 ASP.NET Core 3.1
和 Microsoft.AspNetCore.OData 7.5.6
,
当 HTTP "DELETE"
请求发送到操作方法时,我无法获得
查询参数,结果参数值保持设置为 0
.
这是我的 HTTP 请求:
https://localhost:8083/api/EventTypes(Id%3D66L)
还有我的操作方法:
[Route("api/EventTypes({Id})")]
[HttpDelete]
// [AcceptVerbs("DELETE")]
public async Task<IActionResult> Delete(Int64 Id)
{
DynamicParameters param = new DynamicParameters();
param.Add("Id", Id);
await Dapper.DapperORM.ExecuteWithoutReturn("event_type_delete", param);
return Ok();
}
当我检查 Id
的值时,该值为 0
。我尝试将类型更改为string
,然后将值设置为"Id=66L"
。
我希望它能起作用,但在我的情况下不起作用:
Delete([FromODataUri]Int64 Id)
获取整数值的best/correct方法是什么?
更改路由参数以使用此格式 Id={Id}
并使用 FromODataUri
我设法获得了所需的参数值。
例如
[Route("api/EventTypes(Id={Id})")]
[AcceptVerbs("DELETE")]
public async Task<IActionResult> Delete([FromODataUri]Int64 Id)
使用 ASP.NET Core 3.1
和 Microsoft.AspNetCore.OData 7.5.6
,
当 HTTP "DELETE"
请求发送到操作方法时,我无法获得
查询参数,结果参数值保持设置为 0
.
这是我的 HTTP 请求:
https://localhost:8083/api/EventTypes(Id%3D66L)
还有我的操作方法:
[Route("api/EventTypes({Id})")]
[HttpDelete]
// [AcceptVerbs("DELETE")]
public async Task<IActionResult> Delete(Int64 Id)
{
DynamicParameters param = new DynamicParameters();
param.Add("Id", Id);
await Dapper.DapperORM.ExecuteWithoutReturn("event_type_delete", param);
return Ok();
}
当我检查 Id
的值时,该值为 0
。我尝试将类型更改为string
,然后将值设置为"Id=66L"
。
我希望它能起作用,但在我的情况下不起作用:
Delete([FromODataUri]Int64 Id)
获取整数值的best/correct方法是什么?
更改路由参数以使用此格式 Id={Id}
并使用 FromODataUri
我设法获得了所需的参数值。
例如
[Route("api/EventTypes(Id={Id})")]
[AcceptVerbs("DELETE")]
public async Task<IActionResult> Delete([FromODataUri]Int64 Id)