Я делаю пост-запрос к API через Azure ApiManagement.
Если присутствует заголовок Origin и он не указан в политике Cors, даже почтальон вернет пустой ответ.
Как только я отключаю заголовок Origin, я могу получить ответ.
Итак, проблема заключается в том, что для веб-приложения мы должны включить cors,
<cors allow-credentials="true">
<allowed-origins>
${env:CorsOrigin}
</allowed-origins>
<allowed-methods>
<method>*</method>
</allowed-methods>
<allowed-headers>
<header>*</header>
</allowed-headers>
</cors>
Но наше приложение Cordova также вызывает тот же API, и по умолчанию Cordova добавит Origin: file://
Тогда управление Api делает странные вещи, которые порезают тело. Так что ответ будет пустым. Если я сделаю тот же запрос непосредственно к функции Azure, я получу правильный ответ, и поскольку cordova не заботится (в некоторой степени в нашем случае это нормально) о CORS, я бы ожидал, что управление API не сократит ответ.
Кроме того, управление Api не позволит мне войти *, так как allow-credentials = "true", а также я не могу установить разрешение file: //