Я создал API, заполненный из файла swagger. json и убедился, что он работает в тестовом интерфейсе. Тестовый запрос пользовательского интерфейса успешно показывает заголовки, переданные ниже.
POST https://apiforqubo.azure-api.net/api/Qubo HTTP/1.1
Host: apiforqubo.azure-api.net
Content-Type: application/json
Ocp-Apim-Subscription-Key: ••••••••••••••••••••••••••••••••
Ocp-Apim-Trace: true
Я добавил политику CORS для всех операций. Теперь это обновлено, чтобы отразить ответ ниже.
Обновленная политика:
<policies>
<inbound>
<base />
<cors allow-credentials="true">
<allowed-origins>
<origin>https://apiforqubo.developer.azure-api.net</origin>
</allowed-origins>
<allowed-methods>
<method>POST</method>
<method>GET</method>
<method>PUT</method>
</allowed-methods>
</cors>
</inbound>
<backend>
<base />
</backend>
<outbound>
<base />
</outbound>
<on-error>
<base />
</on-error>
</policies>
Когда я пытаюсь выполнить API с веб-страницы, сгенерированной для API по адресу: https://apiforqubo.developer.azure-api.net/api-detail, запрос не выполняется с ошибкой:
Unable to complete the request
Since the browser initiates the request, it requires Cross-Origin Resource Sharing (CORS) enabled on the server.
Чего мне не хватает?
ОБНОВЛЕНИЕ: заявление о политике, отражающее конкретный c веб-сайт в соответствии с предложением Виталия Курохтин в комментариях.
С уважением, Радже sh