Skip to content
Snippets Groups Projects

Resolve "Documentation construction url serveur"

Merged Tifenn Guillas requested to merge 90-documentation-construction-url-serveur into develop
Files
2
<div class="container">
<div class="jumbotron">
<div class="row align-items-center">
<div class="col-md-12 order-md-1 text-justify text-md-left pr-md-5">
<h2 class="mb-3">Export server documentation</h2>
<h4>URL construction</h4>
<p>
To request the server, you need to construct a correct URL. Just below you can find the URL schema and a
description of mandatory parameters:
</p>
<code>{{ apiPath }}/search/dataset?a=id_attribute&c=id_attribute::operator::value</code>
<ul>
<li>
<code>dataset</code>: dataset in which to search. See datasets section for available datasets.
</li>
<li>
<code>a</code>: output parameters as attributes id list semicolon separated. See outputs section for available attributes.
</li>
<blockquote>a=1;2;3</blockquote>
<li>
<code>c</code>: criteria list separeted with semicolon. A criterion is defined by an id_attribute,
an operator and a value. See operators section for available operators.
</li>
<blockquote>c=3::eq::ping;2::eq::pong</blockquote>
</ul>
<h4>Available parameters</h4>
<h5>Datasets</h5>
<div *ngIf="datasetListIsLoading | async">
<span class="fas fa-circle-notch fa-spin fa-3x"></span>
<span class="sr-only">Loading...</span>
</div>
<table *ngIf="datasetListIsLoaded | async" id="table">
<tr>
<th>Dataset</th>
<th>Description</th>
</tr>
<tr *ngFor="let dataset of datasetList | async">
<td>{{ dataset.name }}</td>
<td>{{ dataset.description }}</td>
</tr>
</table>
<h5>Outputs</h5>
<div *ngIf="attributeListIsLoading | async">
<span class="fas fa-circle-notch fa-spin fa-3x"></span>
<span class="sr-only">Loading...</span>
</div>
<div *ngIf="attributeListIsLoaded | async" class="row">
<div *ngFor="let dataset of datasetList | async" class="col-auto">
<h6>{{ dataset.label }} output list</h6>
<table id="table">
<tr>
<th>id</th>
<th>attribute</th>
</tr>
<tr *ngFor="let attribute of getDatasetAttributes(dataset, attributeList | async)">
<td>{{ attribute.id }}</td>
<td>{{ attribute.name }}</td>
</tr>
</table>
</div>
</div>
<h5>Operators</h5>
<table id="table">
<tr>
<th>operator</th>
<th>description</th>
<th>usage</th>
<th>example</th>
</tr>
<tr>
<td>eq</td>
<td>equal to</td>
<td><code>c=id_attribute::eq::value</code></td>
<td><code>c=1::eq::89</code></td>
</tr>
<tr>
<td>neq</td>
<td>not equal to</td>
<td><code>c=id_attribute::neq::value</code></td>
<td><code>c=1::neq::89</code></td>
</tr>
<tr>
<td>gt</td>
<td>greater than</td>
<td><code>c=id_attribute::gt::value</code></td>
<td><code>c=1::gt::1.5</code></td>
</tr>
<tr>
<td>gte</td>
<td>greater than or equal to</td>
<td><code>c=id_attribute::gte::value</code></td>
<td><code>c=1::gte::2</code></td>
</tr>
<tr>
<td>lt</td>
<td>lower than</td>
<td><code>c=id_attribute::lt::value</code></td>
<td><code>c=1::lt::1.5</code></td>
</tr>
<tr>
<td>lte</td>
<td>lower than or equal to</td>
<td><code>c=id_attribute::lte::value</code></td>
<td><code>c=1::lte::2</code></td>
</tr>
<tr>
<td>bw</td>
<td>between</td>
<td><code>c=id_attribute::bw::value_min|value_max</code></td>
<td><code>c=1::bw::10|90</code></td>
</tr>
<tr>
<td>lk</td>
<td>like</td>
<td><code>c=id_attribute::lk::value</code></td>
<td><code>c=1::lk::ping</code></td>
</tr>
<tr>
<td>nlk</td>
<td>not like</td>
<td><code>c=id_attribute::nlk::value</code></td>
<td><code>c=1::nlk::pong</code></td>
</tr>
<tr>
<td>in</td>
<td>in</td>
<td><code>c=id_attribute::in::value_x|value_y|value_z</code></td>
<td><code>c=1::in::ping|pong|paff</code></td>
</tr>
<tr>
<td>nin</td>
<td>not in</td>
<td><code>c=id_attribute::nin::value_x|value_y|value_z</code></td>
<td><code>c=1::nin::ping|pong|paf</code></td>
</tr>
<tr>
<td>nl</td>
<td>is null</td>
<td><code>c=id_attribute::nl</code></td>
<td><code>c=1::nl</code></td>
</tr>
<tr>
<td>nnl</td>
<td>is not null</td>
<td><code>c=id_attribute::nnl</code></td>
<td><code>c=1::nnl</code></td>
</tr>
<tr>
<td>js</td>
<td>json</td>
<td><code>c=id_attribute::js::extension,keyword|operator|value</code></td>
<td><code>c=1::js::PrimaryHDU,ID|eq|45</code></td>
</tr>
</table>
<h4>Examples</h4>
We supposed to have the dataset ping with following attributes:
<table id="table">
<tr>
<th>id</th>
<th>attribute</th>
</tr>
<tr>
<td>1</td>
<td>obs_id</td>
</tr>
<tr>
<td>2</td>
<td>ra</td>
</tr>
<tr>
<td>3</td>
<td>dec</td>
</tr>
<tr>
<td>4</td>
<td>instrument</td>
</tr>
</table>
<blockquote>{{ apiPath }}/search/ping?a=1;2;3&c=1::eq::1</blockquote>
<p>This will return the <code>obs_id</code> with its value equals to 1 and display <code>obs_id</code>, <code>RA</code> and <code>DEC</code> as
outputs.</p>
<blockquote>
{{ apiPath }}/search/ping?a=1;2;3;4&c=4::in::TEL_1|TEL_2
</blockquote>
<p>This will return a list of <code>TEL_1</code> or <code>TEL_2</code> observations with all available
outputs.</p>
<blockquote>
{{ apiPath }}/search/ping?a=1&c=2::gt::1;3::gt::2
</blockquote>
<p>This will return a list of <code>obs_id</code> where <code>RA</code> is greater than 1 and <code>DEC</code> is greater than 2</p>
</div>
</div>
</div>
</div>
\ No newline at end of file
Loading