Partilhar via


Vistas da base de dados na API REST

As vistas são suportadas como alternativas às tabelas no Data API builder (DAB). Uma vista pode ser exposta através de endpoints REST 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 REST

  • Suporta todos os verbos REST: GET, POST, PUT, PATCH, DELETE
  • O comportamento por defeito é idêntico ao das entidades baseadas em tabelas
  • As operações só têm sucesso se a visualização for atualizável e as permissões apropriadas forem definidas

Exemplo de pedido

GET /api/BookDetail/id/42

Devolve a linha a partir de vw_books_details com id = 42.

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