将 oData 7.5.0 迁移到 oData 8.1.1 时出现路由问题

问题描述 投票:0回答:0

在 Net Core 3.1 和 oData 7.5.0 中

[HttpGet]
[EnableQuery]
[Route("categories/{categoryId}/elements")]
[ODataRoute("categories/{categoryId}/elements")]
public Task<IQueryable<CategoryElement>> QueryActiveElementsByCategoryIdAsync(int categoryId)
{
  return this.processor.QueryAllAsync<CategoryElement>(c => c.CategoryId == categoryId && c.IsActive == true);
}

Code Api Controller 结果 Response

在 Net 6 和 oData 8.1.1 中

[HttpGet("categories/{categoryId}/elements")]
[EnableQuery]
[TrueAuthorize(Role.Administrator)]
public Task<IQueryable<CategoryElement>> QueryActiveElementsByCategoryIdAsync(int categoryId)
{
  return this.processor.QueryAllAsync<CategoryElement>(c => c.CategoryId == categoryId && c.IsActive == true);
}

Code Api Controller 结果 Response

因此预期结果与Front不兼容

.net routes migration odata
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.