RestRequest 参数添加逻辑
RestRequest Parameters adding logic
我在查找有关使用 V 107 在我的 RestRequest 中添加一些逻辑字段的信息时遇到一些问题。我正在尝试向我的 GET 查询添加过滤器
dl_document_indexed_date gt '2020-12-07T08:30:42.483Z'
调用中还有一些其他查询,我正在使用 Dictionary 来存储它们,它工作得很好,但是只有当我正在寻找等于的东西时它才有效,因为将它添加到默认情况下它似乎等于参数,我没有找到任何方法来添加任何其他逻辑,gt/ge/lt/le 等。使用旧版本我只是附加 url 添加我需要的逻辑,但我我也没有看到附加 url 的方法。查看他们的文档,我要么错过了它,找不到它,要么不存在。任何帮助将不胜感激!我的方法看起来像这样
public static async Task<string> GET_API(String RequestUrl, string RequestObject, Dictionary<string, string> parameters)
{
var request = new RestRequest(RequestObject);
var options = new RestClientOptions(RequestUrl)
{
ThrowOnAnyError = true,
Timeout = -1
};
var client = new RestClient(options);
client.Authenticator = new OAuth2AuthorizationRequestHeaderAuthenticator("Bearer " + TokenManager.GetAccessTokenString("TRN"));
foreach (var parameter in parameters)
{
request.AddQueryParameter(parameter.Key, parameter.Value);
}
var response = await client.GetAsync(request);
return response.Content.ToString();
}
我发送 BaseURL,RequestObject 将是 table 我在 base URL 中调用,我的字典项包含字段名称和字段值我正在动态生成另一种将附加字符串的方法。例子是
parameters.Add("dl_document_name", "TableA");
这会将 URL 附加 dl_document_name eq 'TableA'
在我添加我创建的 OAuth 令牌和 return 我需要的数据并将其发回后,它会调用 API。或者我猜的另一种选择可能是将字符串附加到我需要的逻辑 return 数据
你应该使用 OData,它很容易实现,它有不同种类的过滤器,你还可以设置哪些过滤器可用,哪些不可用。
我想出了一个解决方法,如果我只有一个,我可以将它添加到第一个参数并将过滤器添加为第一个键,除非我有多个不是 eq 的条件,否则它将起作用
parameters.Add("filter","dl_document_indexed_date gt '2020-12-07T08:30:42.483Z'");
我在查找有关使用 V 107 在我的 RestRequest 中添加一些逻辑字段的信息时遇到一些问题。我正在尝试向我的 GET 查询添加过滤器
dl_document_indexed_date gt '2020-12-07T08:30:42.483Z'
调用中还有一些其他查询,我正在使用 Dictionary
public static async Task<string> GET_API(String RequestUrl, string RequestObject, Dictionary<string, string> parameters)
{
var request = new RestRequest(RequestObject);
var options = new RestClientOptions(RequestUrl)
{
ThrowOnAnyError = true,
Timeout = -1
};
var client = new RestClient(options);
client.Authenticator = new OAuth2AuthorizationRequestHeaderAuthenticator("Bearer " + TokenManager.GetAccessTokenString("TRN"));
foreach (var parameter in parameters)
{
request.AddQueryParameter(parameter.Key, parameter.Value);
}
var response = await client.GetAsync(request);
return response.Content.ToString();
}
我发送 BaseURL,RequestObject 将是 table 我在 base URL 中调用,我的字典项包含字段名称和字段值我正在动态生成另一种将附加字符串的方法。例子是
parameters.Add("dl_document_name", "TableA");
这会将 URL 附加 dl_document_name eq 'TableA' 在我添加我创建的 OAuth 令牌和 return 我需要的数据并将其发回后,它会调用 API。或者我猜的另一种选择可能是将字符串附加到我需要的逻辑 return 数据
你应该使用 OData,它很容易实现,它有不同种类的过滤器,你还可以设置哪些过滤器可用,哪些不可用。
我想出了一个解决方法,如果我只有一个,我可以将它添加到第一个参数并将过滤器添加为第一个键,除非我有多个不是 eq 的条件,否则它将起作用
parameters.Add("filter","dl_document_indexed_date gt '2020-12-07T08:30:42.483Z'");