Skip to content

Need to provide the jobs/{jobId}/outputs/{outputId}/{N} definitions #583

Description

@fmigneault

The endpoint jobs/{jobId}/outputs/{outputId}/{N} is defined in OpenAPI schema: https://github.com/opengeospatial/ogcapi-processes/blob/master/openapi/paths/processes-core/pResultOutputValue.yaml

However, the requirements are not provided.
The above reference mentions

For more information, see Section 7.14.

However, this is not correct. The sc_retrieve_job_results_one pointer refers to the following endpoint, which is about retrieving "one output" (as in "only 1 {outputID} requested", not N=1 item within a given multi-value/array {outputID} result).

|Result |`/jobs/{jobID}/results/{outputID}` |GET |jobID (in path), outputID (in path) |<<sc_retrieve_job_results_one>>

[[sc_retrieve_job_results_one]]
===== Retrieving results individually
include::../requirements/core/REQ_job-results-success-async-one.adoc[]

[[req_core_job-results-async-one]]
[requirement]
====
[%metadata]
identifier:: /req/core/job-results-async-one
label:: /req/core/job-results-async-one
[.component,class=conditions]
--
. The <<sc_execution_mode,negotiated execution mode>> is asynchronous,
. The number of requested (whether <<implicit-process-output,implicitly>> or <<explicit-process-output,explicitly>>) outputs in the <<execute-request-body,execute request>> is 1.
. The result is retieved from the `/jobs/{jobID}/results/{outputID}` endpoint.
--
[.component,class=part]
--
The server SHALL respond with an HTTP status code of 200.
--
[.component,class=part]
--
The media type of the response SHALL be as negotiated as per the https://datatracker.ietf.org/doc/html/rfc2616#section-12[HTTP content negotiation rules].
--
[.component,class=part]
--
The content of response body SHALL be the requested process output value in the negotiated output format.
--
====

This distinction also highlights that mention like "The number of requested outputs is 1. or "N requested outputs" can be easily misinterpreted with that N array parameter (as described in #580 (comment)).

One or multiple dedicated /req/... definitions must be provided to clarify that distinction, and also to include it in the AST since it needs a dedicated (or additional part) operation to actually test the index-based access.

Metadata

Metadata

Assignees

Labels

Part 1 (Core)OGC API - Processes - Part 1: Core

Type

No type

Projects

Status
To be drafted

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions