ESRI JS API 4.9+ и Koop: службы не загружаются из-за избыточных параметров URL

JS API влияет: 4.9, 4.10 JS API в порядке: < 4.8

после обновления нашего приложения до 4.9 функциональные слои, обслуживаемые с сервера Koop, не загружаются. Я отследил это до запроса, который запрашивает количество функций.

Давайте рассмотрим пример сервиса Koop на сайте Koop

let koopServiceUrl = 'http://koop.dc.esri.com/github/smartchicago/chicago-atlas/db::import::zipcodes/FeatureServer/0'

Теперь журнал в окне разработчиков Chrome покажет 2 запроса. - один для определения слоя, который работает нормально (200) - один для счетчика объектов, который возвращает 404 (см. ниже)

Обратите внимание, что ошибочный запрос имеет дублирующее значение индекса слоя в URL. Если я удалю /0 из определяющего URL в koopServiceUrl, слой загружается нормально. В версии 4.8 вышеуказанный сервис работает нормально, и запрос на количество объектов правильно отформатирован с использованием только одного значения индекса слоя в параметрах URL.

1 ответ

Похоже, JS API > 4.8 должен иметь rest/services в URL слоя объектов. Самые последние версии Koop включают дополнительный набор маршрутов, которые включают этот дополнительный фрагмент URL. Например:

Например, маршрут:

/file-geojson/:id/FeatureServer/:layer/:method

имеет функционально эквивалентную версию с rest/services:

/file-geojson/rest/services/:id/FeatureServer/:layer/:method

Если вы используете этот второй маршрут, JS API будет работать как положено.

Другие вопросы по тегам