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.Service
e 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
Message
para 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 classeMessage
para 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
Message
por umResourceContainer
adequado.Para obter informações completas sobre a formação e a utilização de classes
Message
, consulte a documentação das classesMessage
de 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
ResourceContainer
adequado.Adicione o código para publicar a sua API, conforme descrito em Criar um servidor Web.