【问题标题】:Do Azure API Mgmt have a length limit on path/parameters?Azure API Mgmt 是否对路径/参数有长度限制?
【发布时间】:2017-02-13 19:05:13
【问题描述】:

我在 Azure API 管理中发布了一些 API,它们在后台调用 REST Web 应用程序。大多数端点使用以下格式:

https://company.azure-api.net/dom/ep/{pathParamVal}?{queryParamName}={queryParamVal}

如果{queryParamVal} 是一个非常长的字符串,导致 URL 长度超过 350-400 个字符,则一切正常。但是,如果我指定与 {pathParamVal} 相同的字符串值,我会收到 HTTP 400 错误代码 - HTTP Error 400. The request URL is invalid.。我知道这与 Azure 有关,因为底层 Web 应用程序使用冗长的路径参数和查询参数。

URL 路径的长度是否有限制?

【问题讨论】:

    标签: rest azure url-parameters azure-api-management


    【解决方案1】:

    URL 路径的长度是否有限制?

    根据我的经验,WebAPI 路径的限制是 260 个字符,与Windows Maximum Path Length Limitation 相同。URL 的最大长度受不同浏览器的限制。更多不同浏览器中url的最大长度请参考另一个SO thread

    更新:

    我做了一个测试。如果pathParamVal >260 的长度会得到错误的请求。或者它工作正常。更多细节请参考截图。

    1. 如果pathParamval的长度>260,那么会报400 bad request错误。

    1. 如果pathParamval的长度=260,那么它工作正常。

    【讨论】:

    • 我主要关心路径长度,因为如果路径参数值作为查询参数提供,总长度可能会更高并且仍然有效。
    • 我已经更新了答案,详情请参考
    • 这是可以增加的默认限制吗?
    • 是的,这是默认限制。不幸的是,我们目前找不到增加它的方法。
    • 感谢您的确认。
    猜你喜欢
    • 1970-01-01
    • 2010-12-23
    • 1970-01-01
    • 2011-04-23
    • 1970-01-01
    • 2020-08-20
    • 2020-03-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多