Início Rápido: Utilizar o construtor de API de Dados com o PostgreSQL
Neste Início Rápido, vai criar um conjunto de ficheiros de configuração do construtor de API de Dados para direcionar uma base de dados PostgreSQL local.
Pré-requisitos
- Docker
- .NET 8
- Um cliente de gestão de dados
- Se não tiver um cliente instalado, instale o Azure Data Studio
Dica
Em alternativa, abra este Início Rápido no GitHub Codespaces com todos os pré-requisitos do programador já instalados. Basta trazer a sua própria subscrição do Azure. As contas do GitHub incluem uma elegibilidade de armazenamento e horas essenciais sem custos. Para obter mais informações, veja armazenamento incluído e horas essenciais para contas do GitHub.
Instalar a CLI do construtor de API de Dados
Instale o pacote a Microsoft.DataApiBuilder
partir do NuGet como uma ferramenta .NET.
Utilize
dotnet tool install
para instalar a versão mais recente doMicrosoft.DataApiBuilder
com o--global
argumento .dotnet tool install --global Microsoft.DataApiBuilder
Nota
Se o pacote já estiver instalado, irá atualizar o pacote com
dotnet tool update
.dotnet tool update --global Microsoft.DataApiBuilder
Verifique se a ferramenta está instalada com
dotnet tool list
o--global
argumento .dotnet tool list --global
Configurar a base de dados local
Comece por configurar e executar a base de dados local. Em seguida, pode propagar um novo contentor com dados de exemplo.
Obtenha a cópia mais recente da imagem de contentor do
postgres:16
Docker Hub.docker pull postgres:16
Inicie o contentor do docker ao definir a palavra-passe e a porta de publicação 5432. Substitua por
<your-password>
uma palavra-passe personalizada.docker run \ --publish 5432:5432 \ --env "POSTGRES_PASSWORD=<your-password>" \ --detach \ postgres:16
Ligue-se à base de dados local com o seu ambiente de gestão de dados preferencial. Os exemplos incluem, mas não estão limitados a: pgAdmin, Azure Data Studio e a extensão PostgreSQL do Visual Studio Code.
Dica
Se estiver a utilizar redes predefinidas para as imagens de contentor do Docker Linux, é provável que o cadeia de ligação seja
Host=localhost;Port=5432;User ID=postgres;Password=<your-password>;
. Substitua<your-password>
pela palavra-passe que definiu anteriormente.Create uma nova
bookshelf
base de dados.DROP DATABASE IF EXISTS bookshelf; CREATE DATABASE bookshelf;
Create uma nova
dbo.authors
tabela e semee a tabela com dados básicos.CREATE TABLE IF NOT EXISTS authors ( id INT NOT NULL PRIMARY KEY, first_name VARCHAR(100) NOT NULL, middle_name VARCHAR(100), last_name VARCHAR(100) NOT NULL ); INSERT INTO authors VALUES (01, 'Henry', NULL, 'Ross'), (02, 'Jacob', 'A.', 'Hancock'), (03, 'Sydney', NULL, 'Mattos'), (04, 'Jordan', NULL, 'Mitchell'), (05, 'Victoria', NULL, 'Burke'), (06, 'Vance', NULL, 'DeLeon'), (07, 'Reed', NULL, 'Flores'), (08, 'Felix', NULL, 'Henderson'), (09, 'Avery', NULL, 'Howard'), (10, 'Violet', NULL, 'Martinez');
Create ficheiros de configuração
Create um ficheiro de configuração de linha de base com a CLI do DAB. Em seguida, adicione um ficheiro de configuração de desenvolvimento com as suas credenciais atuais.
Create um ficheiro de configuração típico com
dab init
. Adicione o--connection-string
argumento à base de dados cadeia de ligação da primeira secção. Substitua<your-password>
pela palavra-passe que definiu anteriormente neste guia. Além disso, adicione oDatabase=bookshelf
valor ao cadeia de ligação.dab init --database-type "postgresql" --host-mode "Development" --connection-string "Host=localhost;Port=5432;Database=bookshelf;User ID=postgres;Password=<your-password>;"
Adicione uma entidade Autor com
dab add
.dab add Author --source "public.authors" --permissions "anonymous:*"
Testar a API com a base de dados local
Agora, inicie a ferramenta de construtor de API de Dados para validar que os ficheiros de configuração são intercalados durante o desenvolvimento.
Utilize
dab start
para executar a ferramenta e criar pontos finais de API para a sua entidade.dab start
O resultado da ferramenta deve incluir o endereço a utilizar para navegar para a API em execução.
Successfully completed runtime initialization. info: Microsoft.Hosting.Lifetime[14] Now listening on: <http://localhost:5000> info: Microsoft.Hosting.Lifetime[0]
Dica
Neste exemplo, a aplicação está em execução na
localhost
porta 5000. A sua aplicação em execução pode ter um endereço e uma porta diferentes.Primeiro, experimente a API manualmente ao emitir um pedido GET para
/api/Author
.Dica
Neste exemplo, o URL seria
https://localhost:5000/api/Author
. Pode navegar para este URL com o browser.Em seguida, navegue para a página de documentação do Swagger em
/swagger
.Dica
Neste exemplo, o URL seria
https://localhost:5000/swagger
. Mais uma vez, pode navegar para este URL com o browser.