Uma API é um serviço de chamada de procedimento remoto (RPC) que fornece métodos remotos acessíveis a clientes externos. Cada API de back-end consiste numa classe de serviço RPC que é uma subclasse da classe ProtoRPC remote.Service e um ou mais métodos. Quando define um método, também tem de definir as classes Message para os pedidos que chegam a esse método e as respostas devolvidas por ele.
Uma classe Message executa uma função de mapeamento para que os dados recebidos possam ser extraídos e fornecidos corretamente ao método de serviço ou fornecidos corretamente à resposta de saída.
Se um pedido tiver argumentos de caminho ou de string de consulta, usa uma classe ResourceContainer para o mapeamento, em vez de uma classe Message simples.
Por último, tem de decorar a classe do serviço da API e os métodos da classe, bem como definir classes Message para os pedidos e as respostas.
Criar a API
O procedimento seguinte mostra como decorar o seu código para criar uma API implementada numa única classe. Se tiver uma API de várias classes, consulte o artigo Criar uma API implementada com várias classes. Consulte a secção Decoradores para ver informações detalhadas sobre todos os decoradores disponíveis.
Para criar uma API:
Adicione as seguintes importações necessárias:
Defina uma subclasse de
remote.Servicee decore-a com@endpoints.api:Tenha em atenção que o nome da API e o nome da classe de serviço não têm de ser iguais. O número da versão aplica-se à versão da API. O valor que introduzir torna-se parte do caminho no URL para a sua API. Para mais informações sobre as versões, consulte o artigo Como lidar com o controlo de versões da API.
Determine que dados o seu método espera do pedido e que dados são devolvidos e crie uma classe
Messagepara o corpo do pedido e o corpo da resposta:Tenha em atenção que, se não aparecerem argumentos no corpo do pedido, como num pedido
GET, pode omitir a classeMessagepara o pedido e usar simplesmente o valormessage_types.VoidMessage.Se o seu pedido tiver argumentos de caminho ou de string de consulta, substitua a classe
Messagepor umResourceContaineradequado.Para obter informações completas sobre a formação e a utilização de classes
Message, consulte a documentação das classesMessagede resposta e pedido do Google Protocol RPC.Crie o método para a sua API e decore-o com
@endpoints.method:Se o seu pedido tiver dados de caminho ou string de consulta, substitua o tipo de mensagem do pedido por um
ResourceContaineradequado.Adicione o código para publicar a sua API, conforme descrito em Criar um servidor Web.