Histórico da Página
Notawarning | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||
Recurso disponível somente em:
|
Através da função de callback onBlock, o usuário/desenvolvedor pode definir quais serviços REST (
Endpointsendpoints + 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
Endpointendpoint +
Métodométodo deve ser bloqueado ou oculto.
Section | |||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Métodos Sets
|
|
|
|
|
|
|
|
|
|
|
Responsável por adicionar um Endpoint e Método que será bloqueado no ambiente REST.
oList:hide( cEndpoint as character, cMethod as character )
Responsável por adicionar um Endpoint e Método que será somente ocultado no ambiente REST, ou seja, ele não aparece em nenhuma listagem de serviços disponíveis, porém, quem conhecer a sua assinatura poderá acessá-lo.
Retorno
Não há utilidade para retorno algum pois é ignorado, portanto sugerimos que o retorno seja NULL.
Exemplo
|
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)
e, o
Endpointendpoint e seu método.
Note que sempre é preciso informar o
Endpointendpoint e
Métodométodo para cada ação
,; sendo assim, poderemos bloquear todos os métodos de um mesmo
Endpoint, ou bloquear uns e outro nãoendpoint 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:
|