Neste artigo, continuaremos nos familiarizando com o desenvolvimento da API REST e consideraremos a abordagem Code-First.
O desenvolvimento de uma boa API REST é importante para ter bons microsserviços. A abordagem Code-First concentra-se na geração de um contrato a partir do código. Essa é a melhor abordagem possível?

Você vai aprender
- Qual é a abordagem Code-First para desenvolver uma API REST?
- Quais são os benefícios da abordagem Code-First?
- Quais são as desvantagens da abordagem Code-First?
- Quando você usa a abordagem Code-First?
API REST
Este é o quarto artigo de uma série de artigos sobre a API REST:
Qual é a abordagem Code-First?
Sempre que você desenvolve um serviço, como uma API REST ou API SOAP, pode escolher uma das duas abordagens:
- Codifique primeiro e gere um contrato a partir do código
- Primeiro contrato e desenvolvimento de código baseado em contrato
Vamos começar com um exemplo rápido para o Code First.
Exemplo da API REST do código de inicialização da primavera primeiro
Estamos desenvolvendo um serviço web RESTful usando o Spring Boot Framework para gerar a API. Por exemplo, na API retrieveAllUsers (), abrimos o URI "
/ users " e
retornamos todos os usuários (recurso
/ usuários ),
chamando o método de serviço.
Quando vamos a este URL, retornamos todos os usuários:

Outros métodos de serviço são definidos da mesma forma, cada um com seu próprio URI. Neste exemplo, pegamos o código e geramos documentação a partir dele. Esta documentação descreve como o usuário pode usar o serviço. Para fazer isso, usamos o formato de documentação Swagger:

O Swagger nos permite gerar documentação a partir do código. Por exemplo, aqui está o que o Swagger gera para solicitar a todos os usuários:

Ele exibe o tipo de mensagem de resposta que recebemos e o status da resposta que o acompanha. Você pode até ligar para este serviço da Swagger para obter uma resposta:

Você também pode enviar uma solicitação
POST para "
/ users ":

O Swagger nos dirá como estruturar a mensagem de solicitação e especificar os formatos de campo individuais dentro dela. Ele também informará o tipo de resposta que você receberá, juntamente com o código de resposta. O que o Swagger gera a partir do código é chamado de
contrato .
Benefícios do Code First
As principais vantagens dessa abordagem:
- Contratos com o mínimo de esforço : gerar um contrato não requer esforço adicional. Este é apenas um subproduto do desenvolvimento de serviços, pois pode ser gerado automaticamente a partir do código.
- Código e sincronização do contrato : como o contrato é gerado a partir do código, eles são sempre sincronizados entre si
Desvantagens do Code First
As desvantagens dessa abordagem são as seguintes:
Nenhum desenvolvimento paralelo
Um produtor de serviços e consumidores de serviços não podem se desenvolver paralelamente. Primeiro, você precisa desenvolver um serviço, depois gerar um contrato e somente depois disso poderá escrever um código do consumidor que cumprirá o contrato. Sem entender o contrato, o consumidor não pode ser desenvolvido.
Nenhum objetivo para as equipes
Como o contrato não pode ser conhecido antes do desenvolvimento do serviço, não há objetivo para várias partes interessadas no desenvolvimento. Portanto, há todas as chances de que as direções sejam desviadas e alterações desnecessárias sejam feitas, o que levará a um desperdício de esforço.
Sem compatibilidade de plataforma cruzada
Em algumas plataformas mais antigas, não é tão fácil gerar um contrato a partir do código. Como resultado disso, a incompatibilidade entre plataformas geralmente ocorre para contratos gerados.
Sobre esta questão, há um
vídeo do autor.
Sumário
Neste artigo, exploramos a abordagem Code First para criar uma API REST. Embora a abordagem baseada em código seja eficaz do ponto de vista do desenvolvedor, ela enfrenta sérios problemas quando se trata do desenvolvimento conjunto de um fornecedor e um consumidor.
Leitura adicional
Desenvolvimento de API: Design-First ou Code-First?Como desenvolver um serviço da Web RESTful na API da Web do ASP.NET