Partilhar via


Vistas da base de dados na API GraphQL

As vistas são suportadas como alternativas às tabelas no Data API builder (DAB). Uma visualização pode ser disponibilizada por meio de endpoints GraphQL com configuração mínima.

Configuração

Para expor uma visão:

  • Defina source.type como "view"
  • Defina source.object para o nome de visualização totalmente qualificado
  • Para identificar uma linha de forma única, defina key-fields
  • Conceder permissão usando a "read" ação (e opcionalmente "create", "update", "delete" se a visualização for atualizável)

Exemplo de CLI

dab add BookDetail \
  --source dbo.vw_books_details \
  --source.type "view" \
  --fields.name "id" \
  --fields.primary-key "true" \
  --permissions "anonymous:read"

Exemplo de configuração

"BookDetail": {
  "source": {
    "type": "view",
    "object": "dbo.vw_books_details",
    "key-fields": [ "id" ]
  },
  "permissions": [
    {
      "role": "anonymous",
      "actions": [ "read" ]
    }
  ]
}

Comportamento do GraphQL

  • A visualização aparece como o tipo GraphQL.
  • As consultas são sempre suportadas
  • As mutações só são suportadas se a visualização for atualizável
  • Segue a estrutura padrão do esquema DAB GraphQL

Exemplo de consulta

{
  bookDetails {
    items {
      id
      title
      authorName
    }
  }
}

Permissões

  • Use a ação read para vistas de leitura única
  • Use create, update, e delete só se a visualização for atualizável

Limitações

  • key-fields são obrigatórias
  • As visualizações não apoiam relações
  • A paginação, filtragem e ordenação são suportadas se a vista se comportar como uma tabela