Page edited by Mauricio Rogerio Obenaus Preparação da DBO Para uma DBO ser acessível ao serviço REST, essa DBO deve estar preparada. Ela deve possuir os seguintes pré-processadores: &GLOBAL-DEFINE XMLReceiver YES &GLOBAL-DEFINE XMLProducer YES &GLOBAL-DEFINE DYNAMIC-QUERY-ENABLED YES Por outro lado, a BO não poderá possuir a definição do pré-processador CHANGE-QUERY-TO-FIND nem o valor “Main” no pré-processador CHANGE-QUERY-TO-FIND-PROCS, pois tal combinação impede que os dados da tabela sejam lidos e expostos pelo serviço REST. &GLOBAL-DEFINE CHANGE-QUERY-TO-FIND TRUE &GLOBAL-DEFINE CHANGE-QUERY-TO-FIND-PROCS Main Datasul REST - DBO - Liberação no serviço Para acessar uma DBO pelo serviço REST, a DBO deverá ser liberada no serviço (deploy) Datasul REST - DBO - URL Para acessar uma DBO pelo serviço REST a URL da DBO padrão é formada da seguinte dorma: /datasul-rest/resources/api/[caminho da dbo], onde, por exemplo se a DBO chamada for /adbo/boad107na.p fica /datasul-rest/resources/dbo/adbo/boad107na. Datasul REST - DBO - Metodos O serviço REST de DBO disponibiliza 5 maneiras de chamar a DBO para fazer as operações de CRUD, são as seguintes: MetodoURLMetodo HTTPObjetivo getAll/datasul-rest/resources/dbo/[caminho + nome da DBO]/GETRetorna os registros da DBO (Paginado) create/datasul-rest/resources/dbo/[caminho + nome da DBO]/POSTCria um novo registro usando a DBO get/datasul-rest/resources/dbo/[caminho + nome da DBO]/[chaves da tabela]GETBusca um registro da DBO pela chave da tabela update/datasul-rest/resources/dbo/[caminho + nome da DBO]/[chaves da tabela]PUTGrava um registro que ja existe na tabela delete/datasul-rest/resources/dbo/[caminho + nome da DBO]/[chaves da tabela]DELETERemove o registro da tabela com a DBO Metodo getAll O metodo get all suporta alguns paramtros de query que podem ser colocados na URL da chamada HTTP. são eles: parametroValorObjetivoValor DefaultExemplo limitInteiroLimita o resultado do GET para este numero de registros (tamanho da pagina)10limit=50 startInteiroIndica o primeiro registro que deve ser carregado na lista (usado na paginação)1start=51 fieldslista separada por virgulaIndica quais campos do registro deverão ser retornadosnenhumfields=codigo,descricao,texto whereStringconteudo utilizado para montar o WHERE da query (padrão progress)nenhumwhere=codigo eq "34" or texto <> ? orderlista separada por virgulaIndica os campos que deverão ser usados para ordenação da busca e do resultadonenhumorder=descricao,texto asclista separada por virgulaInidica se os campos da ordem deve ser ascendentes ou descendentesnenhumasc=true,false O retorno será um array JSON no atributo data do retorno. Metodo create O metodo create tem o objetivo de criar um registro na tabela da DBO, não ha parametros na URL para este metodo, apenas o registro da tabela deverá ser passado no payload da requisição HTTP. Metodo get O metodo get tem o objetivo de buscar um registro na tabela da DBO, para buscar um registro, deverá ser passada a chave do registro no caminho da URL da requisição HTTP, o retorno ira retornar um objeto JSON no atributo data do retorno. Por exemplo: A DBO adbo/boad107na da tabela estabelec, possui um campo chave "cod-estabel" a URL para acessar o estabelecimento com codigo "abc" fica assim: http://localhost:8080/datasul-rest/resources/dbo/adbo/boad107na/abc A DBO unbo/boun007na da tabela estado, possui dois campos na chave "pais" e "estado", para acessar o estado de SC do Brasil a URL fica assim: http://localhost:8080/datasul-rest/resources/dbo/unbo/boun007na/Brasil/SC Metodo udpate O metodo update possui a mesma URL do metodo get para localizar o registro da tabela, porem o metodo HTTP muda para PUT e o metodo recebe como payload um objeto JSON com o registro que deverá ser atualizado na tabela, onde cada atributo do objeto corresponde a um campo na tabela. Metodo delete O metodo delete possui a mesma URL do metodo get para localizar o registro da tabela, porem o metodo HTTP muda para DELETE, o metodo não recebe mais nenhum parametro, e o resultado desta chamada termina com o registro da tabela excluido. View Online · View Changes Online Continue reading...