我正在設計一個休息api,用戶可以使用我將定義的搜索查詢語言傳遞查詢。
該語言將允許多個運算符eq,ne,gt,lt(等於,不等於,大於,小於等)等。其他搜索查詢處理特殊字符設計標準
該語言將允許分組和邏輯運算符AND和OR。
因此,例如,關於公司的查詢可能看起來像下面
/API /公司?Q =(公司名稱EQ微軟或公司名稱EQ蘋果)和國家EQ加州
因此,這應該給我的一切公司名稱等於「微軟」或「蘋果」,州是加利福尼亞州的公司。
所以這一切都很好,除了我正在寫api的系統非常靈活並且幾乎允許任何字符插入到字段值中。此外,我還必須支持自定義字段,並且可以在字段名稱中包含特殊字符。
最初我主要擔心的是包含括號的字段。我將把這個查詢轉換成SQL服務器查詢,並且我需要一種方法來確保我不會將字段值中的括號與用於分組的字段混淆。我的第二個想法是強制引用字段值,但我認爲這也會導致類似的問題。
我也在考慮可能有一個涉及html編碼的簡單方法,但我無法確切地看到它是如何工作的。
我在尋找的是任何建議或合理的方法來處理與這種靈活的數據休息搜索查詢的例子。