Histórico da Página
...
Informações | ||
---|---|---|
| ||
RESTful seria, então, a API que está de acordo com todas as restrições definidas por Roy.Os principais critérios para uma API ser RESTful são:
Sem seguir todas estas restrições, sua API não será RESTful, será apenas mais uma implementação RPC em cima do protocolo HTTP. |
...
Garantir a segurança dos dados também faz parte do desing de uma API, hoje o principal modelo utilizado pela comunidade é o Oauth 2.0, este é um padrão de autenticação, que foi construído para preservar os dados sensíveis de um usuário, minha recomendação seria sempre que possível utiliza-lo, porem caso não seja possível, não deixe sua API sem autenticação, no mínimo utilize uma autenticação do tipo basic, onde geralmente é criado um token em base64 a partir de um usuário e senha.
A utilização de Tokens de acesso, que são gerados pelo serviço REST devem ser armazenados pelos clientes, via cookies ou HTML 5 Web Storage, devendo também ser enviados pelos clientes a cada nova requisição ao serviço.
Outras tecnologias e padrões para se trabalhar com Tokens:
- OAUTH;
- JWT (JSON Web Token);
- Keycloack.
Stateless
Garanta que sua API não guarde nenhum tipo de estado referente a comunicação, toda requisição deve ser inteligente o suficiente para se resolver, sem armazenar quaisquer dados de seção.
...
- As aplicações clients conhecem facilmente o limite e próximos passos de cada domínio
- As aplicações clients podem recuperar seus paths dinamicamente sem a necessidade de colocar-los fixo no código
- Os desenvolvedores da API podem alterar o esquema de paths sem quebrar as aplicações clients
<acao><rel>self</rel><uri>http://servicorest.com.br/pedidos/1459</uri><method>GET</method></acao>
Open Documentation
Alem de seguir as melhores práticas, faça ainda mais que isso, utilize frameworks como o Swagger, que é um framework open source que apoia o desenvolvedor no desenho, documentação e especificação de suas Api's.
...
https://wssilva-willian.medium.com/design-de-api-rest-9807a5b16c9f
https://imasters.com.br/desenvolvimento/definicao-restricoes-e-beneficios-modelo-de-arquitetura-rest
https://martinfowler.com/articles/richardsonMaturityModel.html