【问题标题】:Passing double/float through URL to Web Api query string通过 URL 将 double/float 传递给 Web Api 查询字符串
【发布时间】:2013-03-20 16:07:07
【问题描述】:

我有一个Web Api项目,我想通过这个URL调用一个api控制器:

Http://localhost:3030/GetByCoordinates/[[0,1],[1,1],[1,0],[0,0]]

它工作正常,但是当我尝试添加一个双数(比如 1.1 而不是 1)时,浏览器会抛出 404 not found 异常,因为点使它看起来像另一个地址。

我如何处理双打?

【问题讨论】:

    标签: asp.net-mvc-4 asp.net-web-api query-string


    【解决方案1】:

    尝试在 URL 末尾添加“/”,例如

    Http://localhost:3030/GetByCoordinates/[[0,1],[1,1.1],[1,0],[0,0]]/
    

    参考:Why is my Web API method with double args not getting called?

    【讨论】:

    • 我用 WebApi2 对此进行了测试,它可以工作。如果最后不加斜线,最后就不能有浮点数。
    【解决方案2】:

    这不是严格意义上的查询字符串,但除非您可以配置您的 MVC 项目(或者,更具体地说,可能是 IIS)以允许/管理某些映射(或者 来管理它们,在也许是给定的情况)那么您应该能够将字符从一种形式翻译成另一种形式。

    也就是说,您可以将句点换成%2E,然后在服务器端换回它们。

    【讨论】:

    • 如何配置我的 mvc 项目路由或映射来做到这一点?
    猜你喜欢
    • 2012-10-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-23
    • 1970-01-01
    • 1970-01-01
    • 2020-10-19
    • 1970-01-01
    相关资源
    最近更新 更多