Páginas filhas
  • 1. Nomenclatura das Funções

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.
Aviso
titleImportante

O conteúdo relacionado na página abaixo foi substituído e será descontinuado em releases futuras.

A nova técnica para desenvolvimento de API poderá ser consultada através do seguinte endereço (http://tdn.totvs.com/x/6BE4Fw) e esta disponível a partir da release 12.1

...

.22 do Logix.


A declaração do nome da função terá fundamental importância neste desenvolvimento, pois é este isso que definirá se a função da API ficará pública e como será a execução da função a partir de serviços web. Segue abaixo um exemplo de definição:

...

Abaixo seguem maiores detalhes de sobre como cada uma das informações acima devem ser declaradascitadas anteriormente deve ser declarada.

1.

...

2 Nome da API

Seguindo o padrão de desenvolvimento atual, todas as funções da API devem iniciar com o nome do objeto de negócio correspondente.

Exemplos:

Objeto de NegócioFunção
supr4
supr0004
supr4
supr0004_pub_update_item, supr4_pub_delete_item
manr99
manr0099
manr99
manr0099_pub_delete_estrutura, manr99_verifica_estrutura
obfr21
obfr0021
obfr21
obfr0021_atualiza_nota, obfr21_process_emiteNota

1.

...

3 Identificador de Publicação

O identificador _pub_ indica que a função ficará exposta publicamente para execução a partir de outros serviços externos, independente de produto ou tecnologia. Uma função dentro da API sem este identificador será considerada como interna sendo acessível apenas pelo produto Logix.

Informações
titleFunções Privadas

A partir da versão do build 7.00.131227A, a tecnologia 4GL passa a suportar funções "privadas" acessíveis apenas por funções que estejam dentro do mesmo código fonte. Para mais informações consulte o link Implementação PRIVATE FUNCTION.

1.

...

4 Método de

...

Execução

O método de execução indica como será realizada a chamada da função através de um serviço web, ou seja, qual método de requisição HTTP será utilizado para sua execução. Esta informação deve estar de acordo com o objetivo da função, indicando a ação que será realizada na mesma.

Abaixo segue a tabela de conversão dos métodos HTTP para o método de execução das funções 4GL:

Método de ExecuçãoMétodo HTTPObjetivo
createPOSTCriação de um ou mais registros.
processPOSTProcessamento de dados ou geração de relatórios.
update

PUT

Atualização de um ou mais registros.
getGETConsulta a um ou mais registros.
deleteDELETEExclusão de um ou mais registros.

Os métodos de requisições HTTP existentes podem ser consultados através deste link: http://www.w3schools.com/tags/ref_httpmethods.asp.

1.

...

5 Nome da Função

O nome da função 4GL irá definir o entry point de execução através de um serviço web e indica o objeto de negócio que será manipulado.

Nota

Para nomes de funções com mais de uma palavra evite utilizar delimitadores, use o formato de classe sendo a primeira palavra em minúscula e o restante com a primeira letra maiúscula. Isto fará com que a URL de execução da função fique mais clara.

Exemplo:

FUNCTION logr3logr0003_pub_create_inclusaoDimensaoEmpresa
FUNCTION obfr10obfr0010_pub_process_enviaEmailTransportadora
FUNCTION supr10supr0010_pub_process_centralizaConsultaEstoqueProprio

1.1.4 Exemplos

Segue abaixo exemplo de definição de funções definidas conforme este documento e como será realizada a requisição web de execução destes destas funções.:

Função
Cabeçalho da
Requisição

FUNCTION

logr3

logr0003_pub_create_

inclusaoDimensaoEmpresa

inclusaoDimensao()

POST /

inclusaoDimensaoEmpresa HTTP/1.1

logix-rest/logr3/inclusaoDimensao

FUNCTION
obfr10
obfr0010_pub_process_
enviaEmailTransportadora
emailTransportadora()POST /
enviaEmailTransportadora HTTP/1.1
logix-rest/obfr10/emailTransportadora
FUNCTION
supr10
supr0010_pub_update_
centralizaConsultaEstoqueProprio
estoqueProprio()
PUT /centralizaConsultaEstoqueProprio HTTP/1.1
 PUT /logix-rest/supr10/estoqueProprio 
FUNCTION manr0021
FUNCTION manr21
_pub_get_apontamento_horas()
GET
 GET /logix-rest/manr21/apontamento_
horas HTTP/1.1
hora