Restful web服务获取请求参数

Restful web服务获取请求参数,rest,parameters,asp.net-web-api,query-string,Rest,Parameters,Asp.net Web Api,Query String,我正在使用fiddler测试我正在编写的Web API服务 我知道我可以通过如下请求将参数传递给querystring中的RESTful web服务- www.example.com/api/Book?Id=123&category=fiction 在仍然使用GET的情况下,是否有其他方法将参数传递给服务 HTTP请求有许多部分可用于传递参数,即URI、头和正文。GET请求没有主体(一些框架实际上允许这样做,但它们并不常见,因此对于所有目的,让我们假设它们不能),因此您仅限于头和URI 在URI

我正在使用fiddler测试我正在编写的Web API服务

我知道我可以通过如下请求将参数传递给querystring中的RESTful web服务- www.example.com/api/Book?Id=123&category=fiction


在仍然使用GET的情况下,是否有其他方法将参数传递给服务

HTTP请求有许多部分可用于传递参数,即URI、头和正文。GET请求没有主体(一些框架实际上允许这样做,但它们并不常见,因此对于所有目的,让我们假设它们不能),因此您仅限于头和URI

在URI中,可以在不同的位置传递参数:

  • 查询字符串(正如您已经在做的那样)
    • 例:www.example.com/api/Book?Id=123&category=fiction
  • 请求路径
    • 许多框架允许您从请求URI中的路径获取操作的参数。使用ASP.NET Web API,您通常会使用路由来实现这一点
    • 例:www.example.com/api/Book/fiction/123
  • 在片段中,或在
    #
    字符后的URI部分中。见第3.5节。
    • 例:www.example.com/api/Book?Id=123&category=fraction#somethingElse
您还可以在HTTP请求头中传递参数。ASP.NET Web API使用的一个参数是
Accept
头,它在进行内容协商时使用。您还可以从这些头中获得自定义参数,并在操作中读取它们(甚至可以使用值提供程序来读取它们并将它们映射到方法本身中的参数)