【问题标题】:WebAPI: ApiController with a URL string / URI parameterWebAPI:带有 URL 字符串/URI 参数的 ApiController
【发布时间】:2015-09-01 14:35:09
【问题描述】:

我想要一个 ApiController,它有一个带有 URI 或 URL 参数的操作。

http://testserver/api/Controller?id=http://www.stackoverflow.com

我实施了如下操作:

public bool Get(string id)
{
  ...
}

public bool Get(Uri id)
{
  ...
}

但是:每当我按上述方式调用 URL 时,都会收到 400 - 错误 - 错误请求。

【问题讨论】:

    标签: asp.net-mvc asp.net-web-api


    【解决方案1】:

    我无法重现您所描述的问题。这应该有效。以下是我尝试过的步骤:

    1. 使用 Empty 模板创建新的 ASP.NET MVC 4 应用程序
    2. 添加一个 Api 控制器:

      public class ValuesController : ApiController
      {
          public HttpResponseMessage Get(Uri id)
          {
              return Request.CreateResponse(HttpStatusCode.OK, id);
          }
      }
      
    3. 运行应用程序并导航到/api/values/?id=http%3A%2F%2Fwww.stackoverflow.com

    4. id 参数已正确绑定到 Get 操作参数

    那么您能否提供让我们重现问题的步骤?

    【讨论】:

    • 啊!这是“Cassini”Visual Studio Webserver 的问题。一旦我在 IIS Express 中运行它,它就可以工作了 ;-)
    【解决方案2】:

    问题似乎是我使用了“Cassini”,VS 集成的网络服务器。 一旦我在 IIS Express 中运行它,它就可以工作了。

    【讨论】:

      猜你喜欢
      • 2019-11-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-16
      相关资源
      最近更新 更多