Есть ли у Azure API Mgmt ограничение на длину пути / параметров?

У меня есть несколько API, опубликованных в Azure API Management, которые незаметно вызывают веб-приложение REST. Большинство конечных точек используют формат:

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, потому что базовое веб-приложение работает с параметрами длинного пути, а также с параметрами запроса.

Есть ли ограничение на длину URL-пути?


person Web User    schedule 13.02.2017    source источник


Ответы (1)


Есть ли ограничение на длину URL-пути?

Исходя из моего опыта, ограничение пути WebAPI составляет 260 символов, что соответствует Ограничение максимальной длины пути в Windows. Максимальная длина URL-адреса ограничена различными браузерами. Дополнительные сведения о максимальной длине URL-адреса в разных браузерах см. В другом ТАК-тема.

Обновление:

Я провожу тест. Если длина pathParamVal> 260, будет получен неверный запрос. Или работает правильно. Более подробно смотрите на скриншотах.

  1. Если длина pathParamval> 260, будет получена ошибка неверного запроса 400.

введите здесь описание изображения

  1. Если длина pathParamval = 260, значит, он работает правильно.

введите здесь описание изображения

person Tom Sun - MSFT    schedule 14.02.2017
comment
Меня в первую очередь беспокоит длина пути, потому что общая длина может быть намного больше и все равно работать, если значение параметра пути предоставляется в качестве параметра запроса. - person Web User; 15.02.2017
comment
Я обновил ответ, подробнее см. - person Tom Sun - MSFT; 15.02.2017
comment
Это лимит по умолчанию, который можно увеличить? - person Web User; 15.02.2017
comment
Да, это ограничение по умолчанию. к сожалению, в настоящее время мы не можем найти способ его увеличить. - person Tom Sun - MSFT; 15.02.2017
comment
Спасибо за подтверждение. - person Web User; 15.02.2017
comment
Заглянул в этот выпуск на этой неделе. Похоже, максимальная длина пути теперь 324 (обратите внимание, что мы тестировали не строку запроса, а только URL). - person MisterHux; 28.03.2018
comment
Игнорируйте мой последний комментарий, больше не могу его редактировать. Провел еще несколько исследований и пришел к следующему: изучил этот вопрос на этой неделе. Похоже, эта проблема с длиной будет возникать, когда любая часть пути длиннее 261 символа. Иметь URL-адрес, который принимает zip-архивы как часть параметра пути и не работает, если длина превышает 261. - person MisterHux; 28.03.2018