0

我对正常和 REST Web 服务的 GET 操作有疑问。我了解 REST 服务基于 HTTP VERBS。因此,对于一个实体,如果有几个 GET 方法,它将如何区分。

下面是基本服务的例子

public class CustomerService
{
  public List<Customer> GetCustomers()
  {
     //returns all customers
  }

  public List<Customer> GetCustomersWhoHaveOrdersAndOtherFilterCriteria(int orderid,string name)
  {
     //returns filtered customers
  }
} 

如果是普通的 Web 服务,可以通过 CustomerService/GetCustomers 或 CustomerService/GetCustomersWhoHaveOrdersAndOtherFilterCriteria/23 调用,但是 REST Web 服务怎么样,我假设应该有一个 GET 操作。

4

2 回答 2

1

1)在“普通”网络服务中——如果你指的是 SOAP,你永远不会使用 GET——所有请求都包含在 POST 中

2) REST Url 应包含对资源的引用 - 例如,客户不要操作,因此结果 url 可能CustomerService/Customers用于 http 方法 GET

3) 对于 orderid 和 name 参数有更多选项:

CustomerService/Customers/orderid/123/name/MyName001
CustomerService/Customers?orderid=123&name=MyName001

和更多

于 2013-03-12T14:00:29.513 回答
0

你说得对Rest services are based on HTTP verbs。但是还有一件事是Rest services are basically Resource based and Resources are nothing but the Url.
所以你可以做的是你可以创建不同的 uri 模板来访问不同的服务

CustomerApi/Customer --  HTTP GET -- GET All Customers
CustomerApi/Customer/FilterID -- HTTP GET -- Get filter customer
于 2013-03-12T13:59:02.700 回答