Páginas filhas
  • WSRESTFUL

Versões comparadas

Chave

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

...

Sintaxe

Informações
iconfalse
WSRESTFUL [ cServiceName]  Description [ cDescription ] SECURITY [cSecurity] FORMAT [cFormat 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. 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
 cSecurityCaracterInforme o nome da rotina que tem relação com a API REST e deve ser usado no controle de segurança. O Framework REST irá verificar se o usuário autenticado possui acesso a rotina especificada. Caso não seja informado, somente o usuário Admin poderá acessar as APIs.  
 
-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 REST, deve-se declarar os métodos disponibilizados da classe, propriedades, parâmetros e retornos utilizados. Para isso, utilize os comandos WSMETHOD e WSDATA.
  • Para encerrar a declaração da classe, utilize o comando END WSRESTFUL
  • Para utilizar este comando, é necessário declarar a #INCLUDE RESTFUL.CH no código-fonte AdvPL

Exemplo

Bloco de código
firstline1
linenumberstrue
#INCLUDE "TOTVS.CH" #INCLUDE "RESTFUL.CH" WSRESTFUL Users DESCRIPTION "Classe Users" WSDATA cResponse AS STRING WSDATA Count AS INTEGER OPTIONAL WSDATA StartIndex AS INTEGER OPTIONAL WSMETHOD GET DESCRIPTION "GET" WSSYNTAX "/Users/{Id} " WSMETHOD POST DESCRIPTION "POST" WSSYNTAX "/Users/{Id} " WSMETHOD PUT DESCRIPTION "PUT" WSSYNTAX "/Users/{Id} " WSMETHOD DELETE DESCRIPTION "DELETE" WSSYNTAX "/Users/{Id} " END WSRESTFUL
  • .
  • 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