Histórico da Página
Aviso | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||
Recurso disponível somente em:
|
Através da função de callback onBlock, o usuário/desenvolvedor pode definir quais serviços REST (endpoints + método) serão bloqueados para uso ou somente ocultados na listagem de serviços disponíveis.
Esse recurso é útil quando queremos manter disponíveis somente alguns serviços REST para determinado ambiente.
Nota | ||
---|---|---|
| ||
|
Incluir Página | ||||
---|---|---|---|---|
|
Parâmetro Recebido
A função customizada recebe somente 1 (um) parâmetro, sendo:
1 - oList
Classe contendo valores da execução e métodos para informar que determinado endpoint + método deve ser bloqueado ou oculto.
Section | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Métodos Sets
|
Retorno
Sugerimos que o retorno seja NULL pois todo e qualquer retorno será ignorado.
Exemplo
Bloco de código | ||||
---|---|---|---|---|
| ||||
function U_onBlock( oList ) local cEndpoint as character local cServiceName as character local nServicePort as numeric local cThreadPoolName as character local cUserData as character local jApis as json // Use os valores abaixo conforme sua necessidade de implementação // Embora você sempre receberá tais valores, seu uso é opcional. cServiceName := oList:getServiceName() nServicePort := oList:getServicePort() cThreadPoolName := oList:getThreadPoolName() cUserData := oList:getUserData() jApis := oList:getApiList() // Para bloquear ou ocultar algum serviço, utilize os métodos Sets cEndpoint := '/exemplo1/urn' oList:block( cEndpoint, 'get' ) oList:block( cEndpoint, 'post' ) oList:hide( cEndpoint, 'put' ) cEndpoint := '/exemplo2/urn' oList:block( cEndpoint, 'get' ) return |
Conclusão
É muito simples bloquear/ocultar um serviço REST, basta utilizar um dos métodos mencionados acima indicando a ação (block | hide), o endpoint e seu método.
Note que sempre é preciso informar o endpoint e método para cada ação; sendo assim, poderemos bloquear todos os métodos de um mesmo endpoint ou somente alguns, conforme necessidade.
Informações | ||
---|---|---|
| ||
Devido à criticidade de disponibilizar dados indesejados, caso ocorra alguma "exception" na criação da lista, o AppServer não será iniciado. Porém, se essa criticidade não for a sua realidade e ainda assim queira que o AppServer seja iniciado, mesmo que disponibilizando todos os serviços REST, é possível configurar o REST indicando que o OnBlock seja executado em modo "Soft", conforme abaixo:
|