开放应用程序接口

这个 OpenAPI specification 是RESTful端点的开放规范。ogcapi规范利用OpenAPI以开发人员为中心详细描述API。

RESTful结构和负载是使用JSON或YAML文件结构定义的(pygeoapi使用YAML)。基本结构如下: https://swagger.io/docs/specification/basic-structure/

官方的OpenAPI规范可以在 on GitHub 。Pygeapi支持OpenAPI版本3.0.2。

如上所述 管理 ,根据配置文件自动生成pygeoapi OpenAPI文档:

API可在 /openapi 端点,提供API描述的基于招摇过市的网页。。

参见

位于的pygeoapi演示OpenAPI/Swagger终结点https://demo.pygeoapi.io/master/openapi

通过Swagger使用OpenAPI

访问Swagger网页的结构如下:

_images/openapi_intro_page.png

请注意,每个数据集都表示为 collections .

在这个例子中,我们将测试 GET 关于荷兰风车的数据能力。让我们从访问服务的数据集集合开始:

_images/openapi_get_collections.png

服务集合元数据将包含每个集合的描述:

_images/openapi_get_collections_result.png

在这里,我们看到 dutch_windmills 数据集可用。接下来,我们获取数据集的具体元数据:

_images/openapi_get_collection.png _images/openapi_get_collection_result.png

我们还可以看到数据集有一个 items 和排序,以及用于筛选所有端点的特定参数:

_images/openapi_get_item.png

对于数据集中的每个项目,我们都有一个特定的标识符。请注意,标识符不是GeoJSON属性的一部分,而是作为的GeoJSON根属性提供的 id .

_images/openapi_get_item_id.png

此标识符可用于使用 items{{id}} 端点如下:

_images/openapi_get_item_id2.png

通过ReDoc使用OpenAPI

Pygeapi还支持通过以下方式呈现OpenAPI文档 ReDoc

ReDoc渲染可在同一 /openapi 端点,添加 ui=redoc 添加到请求URL。

总结

使用pygeoapi的OpenAPI和Swagger端点为查询数据提供了一个有用的用户界面,并且使开发人员在构建下游应用程序时能够轻松理解pygeoapi。