Páginas filhas
  • WSRESTFUL

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.
Inicia a declaração de uma classe REST (Server) de Web Services em AdvPL.

Abrangência

ERP 11 e superiores 

Sintaxe

Informações

...

icon
Painel

WSRESTFUL [ cServiceName]  [ Description ] 

 

false
WSRESTFUL <cServiceName> DESCRIPTION <cDescription> [SECURITY <cSecurity>] [FORMAT <cFormat>] [SSL ONLY]

Parâmetros

 

NomeTipoDescriçãoObrigatórioReferência
cServiceNameCaracterIndica o nome da classe REST que será declarada.
Observação: A nomenclatura de um Web Services segue a regra de nomenclatura das funções AdvPL.  Description <cDescr>CaracterIndica a descrição da classe apresentada na janela de índice. Essa informação é fornecida também, junto do WSDL gerado pelo TOTVS Application Server para o serviço especificado.  NameSpace <cClsNS>CaracterIndica o namespace que o serviço será publicado.  

 

...

O nome de uma classe REST, deve ser iniciada por um caractere alfabético e deve conter apenas os caracteres alfabéticos compreendidos entre A e Z, os caracteres numéricos compreendidos entre 0 e 9, podendo também ser utilizado o caracter "_" (underline). Um serviço não pode ter o nome de uma palavra reservada, da linguagem AdvPL, ou ter o nome igual a um tipo básico de informação.

O nome da classe REST é o mesmo utilizado na URI, desta forma, deve-se respeitar a estrutura de nomes permitidos na mesma.

X
cDescription CaracterInforme a descrição do serviço. Essa informação é utilizada na listagem dos serviços REST disponíveis no TOTVS| Application Server e serve como documentação do serviço.X
cSecurityCaracterInforme o nome da rotina que tem relação com a API REST (exemplo MATA030 ou MATA410), esse nome será utilizado para validação dos privilégios, permitindo assim o acesso ou não a API.

cFormatCaracterInforme o formato de exportação do serviço. Esta informação é utilizada na listagem dos serviços REST.

SSL ONLY-Indica que a classe só permitirá o acesso via conexão segura do tipo SSL (Secure Socket Layer).


Observações

  • Dentro da estrutura de um classe (Server) de Web ServicesREST, deve-se declarar os métodos disponibilizados da classe, propriedades, parâmetros e retornos utilizados. Para isso, utilize os comandos WSMETHOD e WSDATAcomandos WSMETHOD e WSDATA.
  • Para encerrar a declaração da classe, utilize o comando ENDWSSERVICE.comando END WSRESTFUL
  • Para utilizar este comando, é necessário declarar a include TOTVSWebSrv#INCLUDE RESTFUL.ch CH no código-fonte AdvPL. 

 

A declaração de uma classe (Server) de Web Services, deve ter a seguinte estrutura básica:

WSSERVICE DESCRIPTION   NAMESPACE WSDATA AS (... demais propriedades, parâmetros e retornos ...)WSMETHOD (... demais métodos da classe ...)ENDWSSSERVICE(... fonte(s) do(s) método(s)s desta classe ...)

 

 

#INCLUDE 'TOTVS.CH'#INCLUDE 'TOTVSWEBSRV.CH'WSSERVICE SERVERTIME       WSDATA Horario as String       WSMETHOD GetServerTimeENDWSSERVICE      WSMETHOD GetServerTime WSRECEIVE NULLPARAM WSSEND Horario WSSERVICE SERVERTIME      ::Horario := TIME()Return .T.

 

  • No parâmetro nomeado como FORMAT, apenas para o modo sem o uso de SSL, também é aceita a constante CONSUMES, mas seu efeito é o mesmo de utilizar FORMAT.
  • Para o conteúdo do parâmetro FORMAT estão definidas as seguintes constantes:

    APPLICATION_ATOM_XML
    APPLICATION_ATOM_XML_TYPE
    APPLICATION_FORM_URLENCODED
    APPLICATION_FORM_URLENCODED_TYPE
    APPLICATION_JSON
    APPLICATION_JSON_TYPE
    APPLICATION_OCTET_STREAM
    APPLICATION_OCTET_STREAM_TYPE
    APPLICATION_SVG_XML
    APPLICATION_SVG_XML_TYPE
    APPLICATION_XHTML_XML
    APPLICATION_XHTML_XML_TYPE
    APPLICATION_XML
    APPLICATION_XML_TYPE
    MEDIA_TYPE_WILDCARD
    MULTIPART_FORM_DATA
    MULTIPART_FORM_DATA_TYPE
    TEXT_HTML
    TEXT_HTML_TYPE
    TEXT_PLAIN
    TEXT_PLAIN_TYPE
    TEXT_XML
    TEXT_XML_TYPE
    WILDCARD
    WILDCARD_TYPE
    APPLICATION_XJAVASCRIPT
    APPLICATION_JAVASCRIPT
    TEXT_JAVASCRIPT

Advanced Protheus 7.10 , Microsiga Protheus 8.11 , Protheus 10 , TOTVS Application Server 10