[英]How to shorten Odata query string?
我有一種使用策略號查詢api的方法。 我發現查詢字符串的字符數限制剛剛超過2k。 這是我發送查詢的方法。 如何確保或縮短字符串,使其永遠不會超過字符數限制?
public void BuildPolicyQuery()
{
if (!PolicyNumbers.IsAny()) return;
//if (PolicyNumbers == null || PolicyNumbers.Count() == 0) return;
QueryForWebServices = "Policy?$filter=PolicyNumber eq '" + PolicyNumbers.First() + "'";
if (PolicyNumbers.Count() == 1) return;
foreach (var p in PolicyNumbers.Skip(1))
{
QueryForWebServices += " or PolicyNumber eq '" + p + "'";
}
}
如果可以修改服務,則可以在策略路由上定義一個操作,並在操作有效負載中傳遞策略編號。 例如:
POST /Policy/SomeNamespace.GetSubsetByPolicyNumber
{ "PolicyNumbers": [ 123, 456, ... ] }
您需要一個操作而不是一個函數,因為前者使用POST並采用有效負載(內容主體),而后者則使用GET和URI中的參數。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.