deegree / deegree3

Official deegree repository providing geospatial core libraries, data access and advanced OGC web service implementations
https://www.deegree.org
GNU Lesser General Public License v2.1
146 stars 99 forks source link

Update and rework of deegree REST API #996

Open tfr42 opened 5 years ago

tfr42 commented 5 years ago

Currently deegree provides a REST API to manage the deegree workspace configuration files as documented in chapter "deegree REST interface" of the deegree webservices handboch, see https://github.com/deegree/deegree3/blob/master/deegree-services/deegree-webservices-handbook/src/main/sphinx/restapi.rst.

The deegree REST API shall be enhanced so that is complies with OpenAPI Specification (OAS) 3.0. This enhancement may potentially change the HTTP methods and/or HTTP status codes currently used by the deegree REST interface. Users who have built clients using the deegree REST interface may need change their client code accodingly. Changes to the REST API shall be documented here.

The current REST API is documented as follows:

GET /config/download[/path]                                  - download currently running workspace or file in workspace
GET /config/download/wsname[/path]                           - download workspace with name <wsname> or file in workspace
GET /config/restart                                          - restart currently running workspace
GET /config/restart[/path]                                   - restarts all resources connected to the specified one
GET /config/restart/wsname                                   - restart with workspace <wsname>
GET /config/listworkspaces                                   - list available workspace names
GET /config/list[/path]                                      - list currently running workspace or directory in workspace
GET /config/list/wsname[/path]                               - list workspace with name <wsname> or directory in workspace
GET /config/invalidate/datasources/tile/id/matrixset[?bbox=] - invalidate part or all of a tile store cache's tile matrix set
GET /config/crs/list                                         - list available CRS definitions
POST /config/crs/getcodes with wkt=<wkt>                     - retrieves a list of CRS codes corresponding to the WKT (POSTed KVP)
GET /config/crs/<code>                                       - checks if a CRS definition is available, returns true/false
PUT /config/upload/wsname.zip                                - upload workspace <wsname>
PUT /config/upload/path/file                                 - upload file into current workspace
PUT /config/upload/wsname/path/file                          - upload file into workspace with name <wsname>
DELETE /config/delete[/path]                                 - delete currently running workspace or file in workspace
DELETE /config/delete/wsname[/path]                          - delete workspace with name <wsname> or file in workspace

HTTP response codes used:
200 - ok
403 - if you tried something you shouldn't have
404 - if a file or directory needed to fulfill a request was not found
500 - if something seriously went wrong on the server side
tfr42 commented 5 years ago

This issue relates to "Support latest OGC WFS 3.0 (OGC API Features) standard" issue #911.