通过多个条件为搜索实现REST API的正确方法是什么?

时间:2015-09-14 16:49:59

标签: c# web-services rest asp.net-web-api

按多个条件为搜索实施REST API的正确方法是什么?例如,用户搜索可能包含以下字段:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<div id="amwsidebar">
  <span class="sidebarbutton" id="phdbutton">PhD Button</span>
  <br />
  <br />
  <span class="sidebarbutton" id="buybutton">Buy Button</span> 
</div>



<div id="amwcontentwrapper">

  <div class="amwshown" id="amwintro">
    <p>An intro section to welcome the visitor. Disappears when one of the other sections is clicked.</p>
    <br />
    <br />
  </div>

  <div class="amwhidden" id="amwbuy">
    Buy Section
  </div>

  <div class="amwhidden" id="amwphd">
    PhD Section
  </div>

</div>

FirstName LastName EmailAddress PhoneNumber 将成为基础集合。

2 个答案:

答案 0 :(得分:1)

方式应该是 - 使用一些现有的(甚至是您自己的) 查询API 。微软已经推出了解决方案 - OData。

  

How to create OData endpoints in Web API. OData is a data access protocol for the web. It provides a uniform way to query and manipulate data sets. Web API supports both Version 3 and Version 4 of the OData protocol.

简而言之,我们可以使用 $filter $top $orderby 等选项, $select ......就像这样

http://host:port/path/SampleService.svc/Categories(1)/Products
?$top=2&$orderby=Name&$filter=Name+eq+'Abc'

在这里阅读更多内容:

答案 1 :(得分:0)

首选方法是使用具有搜索字段的正文进行POST,或者也可以使用GET进行

... /用户/ F = {名称= XYZ; ID = 123}

像这样的东西。