opencdms-dev / legacy-opencdms-api

⭐🐍 OpenCDMS server application written in Python (FastAPI) and exposing a web interface for `opencdms-app` and other applications
MIT License
3 stars 3 forks source link

Landing page #27

Open isedwards opened 2 years ago

isedwards commented 2 years ago

The https://api.opencdms.org landing page currently gives a 404 message. The actual APIs are exposed at locations like climsoft/.

The landing page at / should give a simple human readable list of the APIs available (we don't need nice formatting yet, but in the long term we're aiming for something like: https://demo.pygeoapi.io/stable), e.g.:

<h2>The following APIs are available:</h2>
<ul>
    <li>Climsoft API - <a href="/climsoft">/climsoft</a>
    <li>MCH API - <a href="/mch">/mch</a>
    <li>SURFACE API - <a href="/surface">/surface</a>
    <li>OGC API (including processes> - <a href="/ogc">/ogc</a>
</ul>

(note: /ogc will expose a pygeoapi instance - initially we will use this for provinding web processes - @faysal-ishtiaq has begun some work on this in #22 and #23)

The APIs that are available, and the list that is returned to the user, should be configurable in opencdms-api. Since the configuration is going to be complex we should probably adopt YAML and provide a default example that is being used to api.opencdms.org. See example here.

Then there would be a corresponding machine readable document at https://api.opencdms.api/openapi (similar to https://demo.pygeoapi.io/stable/openapi?f=html ), e.g.

GET / - Landing page
GET /climsoft - Climsoft API
GET /mch - MCH API
GET /surface - SURFACE API
GET /processes - Processes
GET /openapi - This document