Accéder aux données avec des liens hypertexte de table ou avec un groupe de liens hypertexte de table
Les données de lien hypertexte de table sont extraites et renvoyées au format JSON et sont paginées.
Vous pouvez accéder aux données de lien hypertexte de table à l'aide d'un navigateur ou de n'importe quel client REST. Les données renvoyées sont paginées pour vous permettre d'accéder à un maximum de 100 enregistrements à la fois, la taille totale des données dans la réponse étant limitée à 1 Mo. Vous pouvez indiquer le paramètre de requête limit
pour limiter le nombre d'enregistrements extraits. L'extraction des données de lien hypertexte de table est bloquée si l'authentification par lien hypertexte de table échoue ou si le lien hypertexte de table demandé a expiré.
Les données de lien hypertexte de table peuvent être affichées sous forme de tableau lorsque vous y accédez à partir d'un navigateur. Pour plus d'informations, reportez-vous à Utilisation des liens hypertexte de table pour accéder aux données au format de table.
- Utilisation du lien hypertexte de table pour accéder aux données
Les données du lien hypertexte de table sont extraites et renvoyées au format JSON et paginées. - Utilisation d'un groupe de liens hypertexte de table pour accéder aux données
Les données du groupe de liens hypertexte de table sont extraites et renvoyées au format JSON et paginées.
Utiliser le lien hypertexte de table pour accéder aux données
Les données de lien hypertexte de table sont extraites et renvoyées au format JSON et paginées.
Par exemple, pour utiliser un lien hypertexte de table et traiter la réponse :
curl https://dataaccess.adb.us-chicago-1.oraclecloudapps.com/adb/p/K6XExample/data
La réponse de lien hypertexte de table inclut des liens pour les pages précédentes ou suivantes, lorsque les données incluent plusieurs pages. Cela vous permet de naviguer dans les deux sens lors de l'extraction des données. Le fichier JSON inclut également un lien self
qui pointe vers la page en cours, ainsi qu'un attribut hasMore
qui indique si d'autres données sont disponibles pour l'extraction.
Le format de réponse est le suivant :
{
"items": [], <-- Array of records from database
"hasMore": true OR false, <-- Indicates if there are more records to fetch or not
"limit": Number, <-- Indicates number of records in the page. Maximum allowed number is 100.
"offset": Number, <-- Offset indicating the start of the current page
"count": Number, <-- Count of records in the current page
"links": [
{
"rel": "self",
"href": "{Link to table hyperlink url for the current page}"
},
{
"rel": "previous",
"href": "{Link to table hyperlink url for the previous page}"
},
{
"rel": "next",
"href": "{Link to table hyperlink url for the next page}"
}
]
}
Par exemple, voici un exemple de réponse d'un lien hypertexte de table (avec des nouvelles lignes ajoutées pour plus de clarté) :
{"items":[
{"COUNTY":"Main","SPECIES":"Alder","HEIGHT":45},
{"COUNTY":"First","SPECIES":"Chestnut","HEIGHT":51},{"COUNTY":"Main","SPECIES":"Hemlock","HEIGHT":17},
{"COUNTY":"Main","SPECIES":"Douglas-fir","HEIGHT":34},{"COUNTY":"First","SPECIES":"Larch","HEIGHT":12},
{"COUNTY":"Main","SPECIES":"Cedar","HEIGHT":21},{"COUNTY":"First","SPECIES":"Douglas-fir","HEIGHT":10},
{"COUNTY":"Main","SPECIES":"Yew","HEIGHT":11},{"COUNTY":"First","SPECIES":"Willow","HEIGHT":17},
{"COUNTY":"Main","SPECIES":"Pine","HEIGHT":29},{"COUNTY":"First","SPECIES":"Pine","HEIGHT":16},
{"COUNTY":"First","SPECIES":"Spruce","HEIGHT":6},{"COUNTY":"Main","SPECIES":"Spruce","HEIGHT":8},
{"COUNTY":"First","SPECIES":"Hawthorn","HEIGHT":19},{"COUNTY":"First","SPECIES":"Maple","HEIGHT":16},
{"COUNTY":"Main","SPECIES":"Aspen","HEIGHT":35},{"COUNTY":"First","SPECIES":"Larch","HEIGHT":27},
{"COUNTY":"First","SPECIES":"Cherry","HEIGHT":20},{"COUNTY":"Main","SPECIES":"Pine","HEIGHT":37},
{"COUNTY":"Main","SPECIES":"Redwood","HEIGHT":78},{"COUNTY":"Main","SPECIES":"Alder","HEIGHT":45},
{"COUNTY":"First","SPECIES":"Chestnut","HEIGHT":51},{"COUNTY":"Main","SPECIES":"Hemlock","HEIGHT":17},
{"COUNTY":"Main","SPECIES":"Douglas-fir","HEIGHT":34},{"COUNTY":"First","SPECIES":"Larch","HEIGHT":12},
{"COUNTY":"Main","SPECIES":"Cedar","HEIGHT":21},{"COUNTY":"First","SPECIES":"Douglas-fir","HEIGHT":10},
{"COUNTY":"Main","SPECIES":"Redwood","HEIGHT":78}],
"hasMore":false,
"limit":100,
"offset":0,
"count":30,
"links":
[
{"rel":"self",
"href":"https://dataaccess.adb.us-ashburn-1.oraclecloudapps.com/adb/p/F5Sn..._example/data"}
]}
Utiliser un lien hypertexte de table pour accéder aux données avec des variables attachées
Si l'instruction SELECT
comporte une variable attachée lorsque vous générez un lien hypertexte de table, vous devez utiliser le paramètre default_bind_values
lorsque vous générez le lien hypertexte de table pour indiquer une valeur de variable attachée par défaut ou transmettre une valeur de variable attachée en tant que paramètre de requête pour accéder aux données du lien hypertexte de table.
La prise en charge des variables attachées est disponible pour les types de colonne NUMBER
et VARCHAR2
.
Par exemple, lorsqu'un lien hypertexte de table est généré avec l'instruction SQL suivante sans le paramètre default_bind_values
:
sql_statement = 'SELECT * FROM TREE_DATA WHERE COUNTY = :countyName'
Vous devez ajouter une variable attachée et indiquer une valeur en tant que paramètre de requête pour accéder aux données. Par exemple :
curl https://dataaccess.adb.us-chicago-1.oraclecloudapps.com/adb/p/K6X...example/data?countyNAME=MAIN
La valeur de liaison n'a pas besoin d'être indiquée dans l'URL lorsque DBMS_DATA_ACCESS.CREATE_URL
inclut le paramètre default_bind_values
:
sql_statement = 'SELECT * FROM TREE_DATA WHERE COUNTY = :countyNAME',
default_bind_values => '{"countyNAME" : "First"}',
Dans le cas où default_bind_values
définit une valeur pour une variable, vous n'avez pas besoin de la fournir en tant que paramètre de requête (la valeur par défaut est fournie) :
curl https://dataaccess.adb.us-chicago-1.oraclecloudapps.com/adb/p/K6X...example/data
{"items":[
{"COUNTY":"First","SPECIES":"Pine","HEIGHT":16},
{"COUNTY":"First","SPECIES":"Spruce","HEIGHT":6},
{"COUNTY":"First","SPECIES":"Hawthorn","HEIGHT":19},
{"COUNTY":"First","SPECIES":"Cherry","HEIGHT":20},
{"COUNTY":"First","SPECIES":"Chestnut","HEIGHT":51}],
"hasMore":false,
"limit":100,
"offset":0,
"count":6,
"links":
[
{"rel":"self",
"href":"https://dataaccess.adb.us-ashburn-1.oraclecloudapps.com/adb/p/gTlbq...example/data"}
]}
Lorsque default_bind_values
définit une valeur de variable attachée, vous pouvez la remplacer en spécifiant explicitement une valeur en tant que paramètre de requête. Par exemple :
curl https://dataaccess.adb.us-chicago-1.oraclecloudapps.com/adb/p/K6X...example/data?countyNAME=MAIN
Pour plus d'informations, reportez-vous à Procédure CREATE_URL.
Utiliser un groupe de liens hypertexte de table pour accéder aux données
Les données du groupe de liens hypertexte de table sont extraites et renvoyées au format JSON et paginées.
Par exemple, pour utiliser un groupe de liens hypertexte de table et traiter la réponse :
curl https://dataaccess.adb.us-chicago-1.oraclecloudapps.com/adb/p/K6XExample/data
La réponse de groupe de liens hypertexte de table inclut les informations d'URL de membre.
Par exemple, voici un exemple de réponse pour un groupe de liens hypertexte de table :
{ "member_urls": [
{
"id": "{member_id}",
"name": "{member_name}",
"description": "{member_description}"
},
.....
]
}
Vous pouvez ensuite utiliser l'API REST suivante pour accéder aux données d'un membre de groupe de liens hypertexte de table, à l'aide de l'une des valeurs member_id
fournies. Par exemple :
Get https://dataaccess.adb.{region_name}.oraclecloudapps.com/adb/p/{group_par_url_token}/data?member_id={member_id}
Response
200 OK - Success
{
"items": [], <-- Array of records from database
"hasMore": true OR false, <-- Indicates if there are more records to fetch or not
"limit": Number, <-- Indicates number of records in the page. Maximum allowed number is 100.
"offset": Number, <-- Offset indicating the start of the current page
"count": Number, <-- Count of records in the current page
"links": [
{
"rel": "self",
"href": "{Link to Table Hyperlink for the current page}"
},
{
"rel": "previous",
"href": "{Link to Table Hyperlink for the previous page}"
},
{
"rel": "next",
"href": "{Link to Table Hyperlink for the next page}"
}
]
}