Como devo construir uma boa (web) de API
-
09-06-2019 - |
Pergunta
Vou criar uma API para um aplicativo web e estou interessada no que as pessoas podem sugerir como boas práticas.
Eu já estou planejando para fazer versões (versão 1 só pode controlar certos aspectos do sistema, versão 2 pode controlar mais, mas isto pode precisar de uma mudança na forma como é efectuada a autenticação, que seria incompatível com a versão 1), e a autenticação será distinto do padrão de nome de usuário/senha que as pessoas usam para fazer logon (se alguém usar uma ferramenta malicioso não abri-los para a plena representação, apenas o que a api permite).
Alguém tem mais ideias, ou exemplos de sites com boa principalmente APIs que você tem usado?
Solução
Leia o Os Serviços Web RESTful o livro, que nos dão uma boa visão geral de como usar o RESTO na prática, e chegar até a velocidade rapidamente o suficiente para começar agora, com um pouco de confiança.Isso é mais útil do que apenas olhar uma API existente, porque ele também aborda o design de escolhas e trade-offs.
Outras dicas
1) Assar o número de versão diretamente na URL, em vez de passá-lo como parâmetro, desde que lhe dá total liberdade para alterar a organização de sua API do espaço de nomes com cada versão de colisão.
2) Mantenha o seu regravação de URL regras (se qualquer) como simples/lean possível (mas não mais simples), ao fazer suas URLs tão bonita quanto possível (mas não mais).
3) procure Sempre o melhor código de status HTTP que você pode encontrar para cada resposta (e não se esqueça de cerca de 202 e 207, por exemplo).
4) Implementar fascista parâmetro de validação lógica, informativos e mensagens de erro.
5) Usar cabeçalhos de solicitação HTTP, onde apropriado, em vez de parâmetros (como Aceitar, por exemplo, para permitir que os clientes para especificar o formato de dados desejado da resposta).
6) Organizar o seu "substantivos", de tal forma que os URLs usados pelo cliente diferentes públicos-alvo são separados perto da "raiz" do seu URL árvore (isso torna mais fácil para impor diferentes mecanismos de autenticação para os diferentes públicos-alvo, se necessário, ou até mesmo mapear diferentes partes do seu URL de árvore para servidores diferentes).
7) Se você estiver servindo páginas normais da web fora do mesmo domínio como o seu APIs e usar as mesmas credenciais de autenticação, exigem um X-Pediu -, Com o cabeçalho em suas solicitações de API de modo a evitar XSRF vulnerabiities.
Eu iria dar uma olhada no comprovadas APIs:
Há muita discussão sobre se estas APIs são "boas", mas acho que o seu sucesso é demonstrado, e eles são todos de fácil utilização.
Utilização RESTO.
Os serviços web RESTful a arquitetura é fácil de implementar e usa os pontos fortes e semântica do HTTP para o que eles foram destinados.É recurso orientada, assim como a própria web.
A Amazon Web Services, Google e muitos outros oferecem APIs REST para interagir com os seus produtos.
Usar o RESTO.
Leia sobre padrões de APIs, ou copiar as ideias de um dos mais populares.
Tenha cuidado quando a autenticação de usuários.
De início, muito, muito simples.
Construir um site que usa a API (mesmo se não for útil) para verificar as coisas funcionam.Talvez você poderia criar uma versão mobile do site ou algo que força você a usar a API em um monte de profundidade.