Oracle encapsula a interface restful na visão

No ambiente oracle, às vezes é necessário acessar a interface do webservice de terceiros. Às vezes, temos um capricho, se acessar essas interfaces for como acessar uma tabela local, tudo bem. Segue o método de implementação

exemplo de dados

O seguinte é um exemplo simples de um retorno de interface

{
    
    
    "code": 200,
    "data": [
        {
    
    
            "parent": "B01",
            "name": "xxxxx",
            "code": "B0101",
            "enable_flag": "Y",
            "los_date": ""
        },
        {
    
    
            "parent": "B0101",
            "name": "gggggggggg",
            "code": "B010105",
            "enable_flag": "Y",
            "los_date": ""
        }
    ]
}

Implementação

Duas ferramentas são usadas aqui: oracle apex e a biblioteca de código aberto de três partes pljson, fácil de implementar

CREATE OR REPLACE VIEW XXXXX_V AS
SELECT json.status_code,
         budget_dept_code,
         budget_dept_name,
         parent_code,
         enable_flag,
         end_active_date
    FROM TABLE(pljson_table.json_table(apex_web_service.make_rest_request(p_url         => 'https://blog.csdn.net/x6_9x',
                                                                          p_http_method => 'GET',
                                                                          p_wallet_path => xxx_ysx_yyds.get_wallet_path,
                                                                          p_wallet_pwd  => xxx_ysx_yyds.get_wallet_pwd),
                                       pljson_varray('code',
                                                     'data[*].code',
                                                     'data[*].name',
                                                     'data[*].parent',
                                                     'data[*].enable_flag',
                                                     'data[*].los_date'),
                                       pljson_varray('status_code',
                                                     'budget_dept_code',
                                                     'budget_dept_name',
                                                     'parent_code',
                                                     'enable_flag',
                                                     'end_active_date'),
                                       table_mode => 'nested')) json

   ORDER BY 2;

Se você quiser consumir a interface https, você precisa configurar o oracle wallet para importar o certificado. Aqui, a interface com parâmetros também é suportada. Você pode colocar os parâmetros na condição where. Para detalhes, você pode consultar o uso de apex_web_service.make_rest_request, que realiza o mesmo que escrever
sql To access webservice data

Acho que você gosta

Origin blog.csdn.net/x6_9x/article/details/126161074
Recomendado
Clasificación