gpt4 book ai didi

asp.net-web-api - 使用 OData URL 传递多个参数

转载 作者:行者123 更新时间:2023-12-01 11:39:29 41 4
gpt4 key购买 nike

我想使用 OData 协议(protocol)在我的 Get 请求中传递多个参数。以下是我正在做的事情。

我正在使用 fiddler 进行 GET 请求,如下所示

https://127.0.0.1/odata/controllerName('param1','param2')

在我的 Controller 类中,我有两个 Controller 方法。第一个 Controller 方法只接受一个参数,第二个接受两个参数。一个参数的 Controller 方法工作正常。当我请求两个参数的 Controller 方法时,它调用一个参数的 Controller 方法。我无法理解为什么它无法识别具有两个参数的 Controller 方法。或者OData不支持多参数。

Controller 方法一

public int controllerName([FromOdataUri] string key);

Controller 方法 2

public int controllerName([FromODataUri] string param1, [FromODataUri] string param2);

最佳答案

按照OData协议(protocol),如果实体的key是2个属性的组合,那么可以这样查询:

    ~/odata/EntitySet(key1='key1',key2='key2')

但是如果你没有这样的key,那么你可能需要Functions,用GET调用,参数在URL中传入,如

    ~/odata/Products(33)/Default.CalculateGeneralSalesTax(state='WA') 
~/odata/GetSalesTaxRate(state='CA')

请引用此示例:https://aspnet.codeplex.com/SourceControl/latest#Samples/WebApi/OData/v4/ODataFunctionSample/

您可以根据需要添加任意多的参数。

关于asp.net-web-api - 使用 OData URL 传递多个参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22872079/

41 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com