Guia de design de APIs

Registo de alterações

Introdução

Este é um guia de design geral para APIs em rede. É usada na Google desde 2014 e é o guia que a Google segue quando cria APIs Cloud e outras APIs Google. Este guia de design é partilhado aqui para informar os programadores externos e facilitar o nosso trabalho em conjunto.

Os programadores do Cloud Endpoints podem considerar este guia particularmente útil ao criar APIs gRPC, e recomendamos vivamente que estes programadores usem estes princípios de design. No entanto, não exigimos a sua utilização. Pode usar os Cloud Endpoints e o gRPC sem seguir o guia.

Este guia aplica-se às APIs REST e às APIs RPC, com foco específico nas APIs gRPC. As APIs gRPC usam buffers de protocolo para definir a respetiva superfície da API e a configuração dos serviços de API para configurar os respetivos serviços de API, incluindo o mapeamento HTTP, o registo e a monitorização. As funcionalidades de mapeamento HTTP são usadas pelas APIs Google e pelas APIs gRPC do Cloud Endpoints para transcodificação de JSON/HTTP para Protocol Buffers/RPC.

Este guia é um documento dinâmico e serão feitas adições ao mesmo ao longo do tempo à medida que forem adotados e aprovados novos padrões de estilo e design. Nesse sentido, nunca vai estar completa e haverá sempre espaço suficiente para a arte e a técnica do design de APIs.

Convenções usadas neste guia

As palavras-chave de nível de requisito "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY" e "OPTIONAL" usadas neste documento devem ser interpretadas conforme descrito na RFC 2119.

Neste documento, essas palavras-chave são realçadas com o tipo de letra negrito.

Secções

Design orientado para recursos

Para ver informações sobre a implementação do design orientado para recursos para APIs REST e RPC, consulte o AIP-121.

Nomes de recursos

Para obter informações sobre os nomes dos recursos, consulte o AIP-122.

Métodos padrão

Para informações gerais sobre métodos, consulte o artigo AIP-130.

Para obter informações sobre métodos padrão, consulte as seguintes AIPs:

Métodos personalizados

Para obter informações sobre métodos personalizados, consulte o AIP-136.

Tópicos adicionais

Para informações sobre os seguintes tópicos, consulte as respetivas APIs relacionadas.

Para obter informações sobre os seguintes tópicos, consulte as respetivas páginas relacionadas neste guia.