Partilhar via


A API do Azure está retornando uma resposta em branco

Referindo-se ao artigo sobre a série de solução de problemas do Gerenciamento de API do Azure, este é o primeiro cenário do laboratório. Certifique-se de ter seguido as instruções de configuração do laboratório de acordo com isso, para recriar o problema.

Versão original do produto: Serviço de Gerenciamento de API
Número original da base de conhecimento: 4464936

Sintomas

A API API Blank consiste em duas operações: GetHeaders e GetMyIp. GetMyIp retorna o valor do cabeçalho X-FORWARDED-FOR e GetHeaders retorna todos os valores de cabeçalho de solicitação. GetMyIp retorna a saída esperada, mas de repente GetHeaders começou a retornar uma resposta em branco (sem corpo de resposta).

Captura de tela de uma resposta em branco.

A saída esperada da API GetHeaders deve ser algo como abaixo:

{
  "headers": {
    "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", 
    "Accept-Encoding": "gzip, deflate", 
    "Accept-Language": "en-US,en;q=0.5", 
    "Connection": "close", 
    "Cookie": "_gauges_unique_day=1; _gauges_unique_month=1; _gauges_unique_year=1; _gauges_unique=1", 
    "Host": "eu.httpbin.org", 
    "Upgrade-Insecure-Requests": "1", 
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:59.0) Gecko/20100101 Firefox/59.0"
  }
}

Etapas de solução de problemas

Para depurar esse tipo de problema, a melhor abordagem é coletar o rastreamento do inspetor do APIM para inspecionar o processamento de solicitações dentro do pipeline do APIM.

  • Se você examinar o rastreamento, notará que a política de solicitação de encaminhamento está ausente.
  • A política de solicitação de encaminhamento encaminha a solicitação de entrada para o serviço de back-end especificado no contexto da solicitação.
  • A remoção dessa política resulta na solicitação não ser encaminhada para o serviço de back-end e as políticas na seção de saída serem avaliadas imediatamente após a conclusão bem-sucedida das políticas na seção de entrada.
  • Portanto, se você verificar a <seção de back-end> da operação GetHeaders em Blank-API, notará que a política de solicitação de encaminhamento foi removida.
  • Adicione a política de solicitação de encaminhamento na seção de back-end ou adicione <base /> elemento para que ele herde a política de solicitação de encaminhamento do nível pai (ou seja, do nível da API), o que deve resolver o problema.

Leia sobre a política de solicitação de encaminhamento para saber mais sobre ela.