【问题标题】:Restful web service GET request parametersRESTful Web 服务 GET 请求参数
【发布时间】:2013-07-19 18:23:43
【问题描述】:

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

我知道我可以将参数传递给查询字符串中的 RESTful Web 服务,请求如下: www.example.com/api/Book?Id=123&category=fiction。

还有其他方法可以将参数传递给服务,同时仍然使用 GET。

【问题讨论】:

    标签: rest parameters asp.net-web-api query-string


    【解决方案1】:

    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 部分。请参阅URI RFC,第 3.5 节。
      • 例如:www.example.com/api/Book?Id=123&category=fiction#somethingElse

    您还可以在 HTTP 请求标头中传递参数。 ASP.NET Web API 支持的一个参数是Accept 标头,它在进行内容协商时使用。您还可以从这些标头中获取自定义参数,并在您的操作中读取它们(或者甚至让值提供者读取它们并将它们映射到方法本身的参数)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-27
      相关资源
      最近更新 更多