Histórico da Página
Abrangência
ERP 11 e superiores
Sintaxe
Informações |
---|
...
|
Painel |
---|
WSRESTFUL [ cServiceName] [ Description ] |
| |
WSRESTFUL <cServiceName> DESCRIPTION <cDescription> [SECURITY <cSecurity>] [FORMAT <cFormat>] [SSL ONLY] |
Parâmetros
Nome | Tipo | Descrição | Obrigatório | Referência |
cServiceName | Caracter | Indica o nome da classe REST que será declarada. |
...
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 | Caracter | Informe 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 | |
cSecurity | Caracter | Informe 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. | ||
cFormat | Caracter | Informe 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