0
我有三個下拉列表。它們中的每一個都具有「全部」的值。 HTML代碼是這樣的:爲三種下拉列表的組合設計API?
<select id="fruit">
<option value="all" selected>All</option>
<option value="apple">apple</option>
<option value="lemon">lemon</option>
</select>
<select id="color">
<option value="all" selected>All</option>
<option value="yellow">Yellow</option>
<option value="green">Green</option>
</select>
<select id="flavor">
<option value="all" selected>All</option>
<option value="sweet">Sweet</option>
<option value="acid">Acid</option>
</select>
我想打電話給基於這三個dropdownlists的用戶選擇的API。 我正在設計API並想知道參數應該是什麼樣子。
我使用ASP.NET API作爲後端所以API是這樣的:
public IHttpActionResult GetData(string fruitname, string colortype, string flavortype)
{
var res = db.myclass.Where(z => z.FruitName.Equals(fruitname)
&& z.ColorType.Equals(colortype)
&& z.FlavorType.Equals(flavortype)).ToList();
return Ok(res);
}
然而,一旦用戶選擇「ALL」,我必須繞過的選擇 - 比如,如果用戶選擇所有的水果下拉菜單,我只需要在LINQ中有兩個條件。
public IHttpActionResult GetData(string fruitname, string colortype, string flavortype)
{
var res = db.myclass.Where(z => && z.ColorType.Equals(colortype)
&& z.FlavorType.Equals(flavortype)).ToList();
return Ok(res);
}
由於這裏有三個下拉列表,我不想一遍又一遍地重複自己。關於如何設計這些API的任何好的想法?
感謝您的答覆。然而,我把代碼放在那裏,然後選擇檸檬,黃色和甜點,我仍然從db.myclass獲取所有數據.... – catlovespurple