.net core 未找到ODataRoute

.net core 未找到ODataRoute,.net-core,odata,.net Core,Odata,我的OData路线正在运行: [ODataRoute("ClassA/{classAId}/ClassB/{classBId}/ClassC")] 但是,当我在末尾添加一个参数时,它将不再被找到并返回404 [ODataRoute("ClassA/{ClassAId}/ClassB/{ClassBId}/ClassC/{classCId}")] 对可能出现的问题有什么建议吗?这个问题的答案可能是验证路由格式并列出它的工作要求,因为我显然遗漏了一些东西。

我的OData路线正在运行:

[ODataRoute("ClassA/{classAId}/ClassB/{classBId}/ClassC")]
但是,当我在末尾添加一个参数时,它将不再被找到并返回404

[ODataRoute("ClassA/{ClassAId}/ClassB/{ClassBId}/ClassC/{classCId}")]

对可能出现的问题有什么建议吗?这个问题的答案可能是验证路由格式并列出它的工作要求,因为我显然遗漏了一些东西。

哦,我自己发现了问题。问题不在于完全有效的路线定义。这是我用来查询路由的uri

我在查询中使用了这种格式:
ClassA(“ClassAId”)/ClassB(“ClassBId”)/ClassC(“classCId”)

问题在于classCId的类型,它是一个整数,而不是字符串。因此,类型问题可能返回odata route not found错误

因此,更正uri解决了问题:
ClassA(“ClassAId”)/ClassB(“ClassBId”)/ClassC(classCId)

哦,我自己发现了问题。问题不在于完全有效的路线定义。这是我用来查询路由的uri

我在查询中使用了这种格式:
ClassA(“ClassAId”)/ClassB(“ClassBId”)/ClassC(“classCId”)

问题在于classCId的类型,它是一个整数,而不是字符串。因此,类型问题可能返回odata route not found错误

因此,更正uri解决了问题:
ClassA(“ClassAId”)/ClassB(“ClassBId”)/ClassC(classCId)