A adoção de APIs RESTful tornou-se um padrão na indústria, fornecendo um meio eficiente de comunicação entre diferentes partes de um sistema de software ou entre sistemas diferentes. Neste artigo, exploraremos como usar o Oracle REST Data Services (ORDS) para criar APIs RESTful a partir de um banco de dados Oracle.
Configurando ORDS
O primeiro passo é instalar e configurar o ORDS. Uma vez instalado, você precisará configurá-lo para se conectar ao seu banco de dados Oracle. Isso geralmente envolve a criação de um arquivo de configuração que especifica detalhes como o nome do host, porta, nome do banco de dados, nome de usuário e senha.
Criando Endpoints RESTful
Com o ORDS configurado, você pode começar a definir seus endpoints RESTful. No exemplo abaixo, criamos um serviço REST para a tabela “employees”:
BEGIN
ORDS.ENABLE_OBJECT (
p_enabled => TRUE,
p_schema => 'HR',
p_object => 'EMPLOYEES',
p_object_type => 'TABLE',
p_object_alias => 'employees',
p_auto_rest_auth => TRUE
);
END;
Em seguida, definimos uma manipulação GET para buscar dados do serviço. O exemplo abaixo cria uma manipulação GET que recupera todos os registros de “employees”:
BEGIN
ORDS.DEFINE_HANDLER (
p_module_name => 'employees',
p_pattern => 'employees',
p_method => 'GET',
p_source_type => 'json/query',
p_source => 'SELECT * FROM employees'
);
COMMIT;
END;
Testando o Endpoint RESTful
O endpoint RESTful pode ser testado usando uma ferramenta como o Postman ou cURL. A URL para o serviço “employees” seria algo como isto: http://localhost:8080/ords/hr/employees/employees
.
O resultado da chamada GET seria um JSON com os dados recuperados da tabela “employees”. Aqui está um exemplo de como o output poderia se parecer:
{
"items": [
{
"employee_id": 1,
"first_name": "John",
"last_name": "Doe",
"email": "john.doe@example.com",
"phone_number": "1234567890",
"hire_date": "2023-01-01",
"job_id": "IT_PROG",
"salary": 6000,
"manager_id": 101,
"department_id": 60
},
// ...
]
}
CONSULTA
ORDS_METADATA.ORDS_MODULES – Consulta ao módulo
ORDS_METADATA.ORDS_HANDLERS – Consulta às manipulações/métodos
Lembre-se de que essas tabelas podem conter informações sensíveis e devem ser protegidas adequadamente. As informações nelas contidas não devem ser alteradas diretamente, pois isso pode causar problemas com seus serviços RESTful. Use sempre a API do ORDS para criar e modificar seus serviços RESTful.