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 ( Endpoints 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 endpoint + Método método deve ser bloqueado ou oculto.
Section |
---|
Métodos |
Sets
|
|
|
|
|
|
|
|
|
Métodos Sets
--------------------------------------------------------------------
oList:block( cEndpoint as character, cMethod as character )
Responsável por adicionar um Endpoint e Método que será bloqueado no ambiente REST.
-------------------------------------------------------------------
oList:hide( cEndpoint as character, cMethod as character )
|
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 Endpoint endpoint e seu método.
Note que sempre é preciso informar o Endpoint endpoint e Método mé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:
|