Adicionar ou atualizar valores

Concluído

Esta unidade explora os modelos de política que podem ser aplicados para definir valores de dados na solicitação para e na resposta da API. O cenário mais comum é definir os valores que são necessários para a API no corpo, no cabeçalho ou na consulta da solicitação, para que o criador não precise fornecê-los. As políticas são flexíveis para processar várias tarefas relacionadas à definição de dados em solicitações e respostas. Os seguintes modelos de política estão disponíveis e são voltados à definição de valores de dados:

  • Definir propriedade: adicione ou atualize uma propriedade em um objeto ou uma coleção.

  • Definir parâmetro da cadeia de consulta: adicione ou atualize um parâmetro na cadeia de consulta.

  • Definir cabeçalho HTTP: adicione ou atualize um valor no cabeçalho da solicitação e/ou resposta.

Usar o modelo de política Definir propriedade

O modelo de política Definir propriedade pode ser usado para definir ou atualizar os valores no corpo dos objetos de solicitação ou de resposta. Você pode definir um valor constante usando um valor de cadeia de caracteres ou uma expressão com @body() para obter outro valor existente do objeto de corpo. O exemplo a seguir mostra como definir um valor constante no corpo da resposta.

Se você olhar a resposta após a implementação do modelo de política, verá a imagem a seguir.

O exemplo anterior mostra que a operação ListInvoice retorna um objeto com uma propriedade invoice que é uma matriz de objetos de fatura. Para definir a propriedade prefix em cada fatura na matriz de faturas, é necessário alterar seu objeto pai ou o caminho da coleção para ficar semelhante à imagem a seguir.

O resultado depois de fazer essa alteração será semelhante à imagem a seguir.

Você também pode fazer referência a outros valores que já foram definidos no corpo. Por exemplo, a imagem a seguir mostra que a propriedade FullValue inclui a propriedade Prefix.

Observe que o campo Valor a ser adicionado contém a expressão {@body().Prefix} para obter o valor do prefixo do corpo. Você deve colocar a expressão entre chaves ({expression}) para que ela funcione.

Nesse campo, basta fazer referência à expressão @body. Não é permitido usar outras expressões, como @connectionProperties, @headers ou @queryParameters.

Usar o modelo de política Definir parâmetro da cadeia de consulta

A política de modelo Definir parâmetro da cadeia de consulta pode ser usada para adicionar ou atualizar parâmetros de consulta na solicitação. Como a cadeia de consulta é relevante somente na solicitação, você não precisa definir o valor de Executar política em. Ao contrário da política Definir propriedade, que sempre define o valor mesmo que ele já exista, essa política é configurável. Você pode definir a ação, se o parâmetro existir, como uma das seguintes opções:

  • Substituir: substitui o valor existente.

  • Ignorar: o valor existente não é substituído.

  • Acrescentar: o valor do modelo de política é acrescentado ao valor existente.

Esse recurso permite controlar quando o valor é usado, tornando-o um bom método para fornecer valores padrão. Um exemplo dessa abordagem é o conector Microsoft Outlook, que tem uma política Definir parâmetro da cadeia de consulta para definir um valor padrão de 50 para o parâmetro $top. O exemplo a seguir mostra como será a aparência do modelo de política.

Observe que a opção ignorar foi usada como o valor de Ação se o parâmetro de consulta existir para garantir que essa política seja usada apenas como padrão.

Usar o modelo de política Definir cabeçalho HTTP

Você pode usar o modelo de política Definir cabeçalho HTTP para adicionar ou atualizar valores no cabeçalho da solicitação, resposta ou falha. Semelhante ao modelo de politica Definir cadeia de consulta, você pode escolher a ação se o valor já existir. O modelo de política é usado com mais frequência para definir valores de cabeçalho esperados pela API, como identificação do remetente, ETag para controle de alterações ou cabeçalhos de chave de API especiais que não são processados pelas configurações normais do conector. Por exemplo, o conector de Serviços Cognitivos do Azure usa um modelo de política Definir cabeçalho para definir o valor do cabeçalho X-MS-Sender como Aplicativos Lógicos do Microsoft Azure. O exemplo a seguir mostra esse modelo de política.

O uso desses modelos de política permite definir os valores que são esperados pela API. Você também pode usá-los para definir valores na resposta que possam simplificar a tarefa de consumo dos dados do criador. Essas políticas também podem ser usadas para definir valores padrão quando nenhum ainda foi fornecido. Você pode usar várias políticas em uma ordem específica para compor valores mais complexos.