Web API com .NET Core 2.2 e MongoDB.
Introdução
Esse artigo tem como objetivo demonstrar o passo a passo de como criar um CRUD (Create, Read, Update e Delete) em .NET Core persistindo no banco de dados não relacional MongoDB.
Criando oBanco de Dados e Collection no MongoDB
Por praticidade estou usando a ferramenta Robo 3T para a criação do DB e da Collection no Mongo, iremos criar o Banco como o nome HerosGalleryDB e a Collection Heros
Criando Web API .Net Core 2.2
Primeiro vamos criar um novo projeto no VS2017, após definir o nome da Aplicação selecione a opção API e verifique se a versão selecionada é a .NET Core 2.2
Vamos instalar pelo Nuget a DLL do MongoDB Driver para realizar a integração da nossa aplicação com o banco não relacional, mais informações acesse: https://docs.mongodb.com/ecosystem/drivers/csharp/
Vamos começar a codificar a WebAPI, crie uma pasta no projeto chamada Models e crie uma classe chamada Hero, iremos ciar o Modelo de dados que vamos enviar para o Mongo, nessa classe contém as propriedades dos “Heros” do nosso exemplo.
Note que foi adicionado as referências do MongoDB Driver para conseguirmos realizar o mapeamento da Collection criada no Mongo e a Model criado no .Net Core.
Vamos criar uma pasta chamada Service e adicionar a classe com o nome HeroService, nessa classe vai conter os métodos, de acesso ao mongoDB, para conseguirmos realizar as operações básicas do CRUD (Create, Read, Update and Delete).
Note que no construtor da classe definimos as conexões do banco de dados, passando o banco e a Collection do MongoDB.
Agora que criamos a Model e a services vamos criar a nossa API, crie uma nova Controller no projeto.
Vamos criar os Endpoints da API para realizar o CRUD.
Agora vamos configurar a Connection string do MongoDB
E por fim vamos adicionar na classe Startup.cs o seguinte código para registrar o HeroServices com injeção de dependência.
Testando API com o PostMan
Criando Hero
Editando Hero
Excluindo Hero
Listando todos os Heros
Sua API está pronta para Inserir, Editar, Listar e Deletar os dados no MongoDB, agora que já sabe como dar o primeiro passo é só usar a criatividade.