首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ODataRoutePrefix没有在第三级工作

问ODataRoutePrefix没有在第三级工作
EN

Stack Overflow用户
提问于 2019-06-06 21:56:14
回答 1查看 315关注 0票数 1

当我尝试使用带有[ODataRoutePrefix]属性的第三级段时,它会引发如下错误:

在控制器‘控制器名称’中的动作'Get‘上的路径模板' template’不是有效的OData路径模板。在OData路径模板“模板”中找到未解析的路径段“最后段”。

详细信息

  • 用于运行:[ODataRoutePrefix("lawsuits/{parentId}/depositsGuarantees")]的父段的:[ODataRoutePrefix("lawsuits/{parentId}/depositsGuarantees")]
  • ODataRoutePrefix用于不工作的新控制器:[ODataRoutePrefix("lawsuits/{parentId}/depositsGuarantees/{subResourceId}/customFields")]
  • 当启动API (**config.EnsureInitialized()**):时,控制器'LawsuitDepositGuaranteeCustomFields‘中动作'Get’上的路径模板'lawsuits/{parentId}/depositsGuarantees/{subResourceId}/customFields‘不是有效的OData路径模板。在'lawsuits/{parentId}/depositsGuarantees/{subResourceId}/customFields'.路径模板‘lawsuits/{parentId}/depositsGuarantees/{subResourceId}/customFields’.中找到未解析的路径段“customFields”

更多信息

  • 操作方法适当地期望在路由前缀中定义的参数。示例:
代码语言:javascript
复制
public IHttpActionResult Get(int parentId, int subResourceId)
{
    // [...]
}
  • 尽管它抱怨“找到了一个未解决的路径段'customFields'",但相同的段适用于其他具有前缀的现有控制器,如:[ODataRoutePrefix("lawsuits/{parentId}/customFields")],这意味着在OData上为"customFields”段注册了一个模型。

受影响的组件

OData WebApi lib 6.0.0

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-06-10 21:31:07

我发现了什么问题..。

depositsGuarantees段的模型缺少为customFields段注册的模型的集合属性。实际上,这一财产丢失了:

代码语言:javascript
复制
public IEnumerable<CustomFieldModel> CustomFields { get; set; }

我仍然想知道我应该使用lawsuits/{parentId}/depositsGuarantees/{subResourceId}/customFields还是depositsGuarantees/{parentId}/customFields (尽管depositsGuarantees也是一个子资源),但这更多的是一个概念性的讨论。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56485571

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档