Hi list,

I'm writing to ask for permission to create a new community module for:
- the definition of GeoServer REST API in OpenAPI 3.0 yaml files,
- openapi-generator-maven-plugin generated java client (feign + okhttp)
- Java client wrapper library that simplifies interacting with the
generated client by taking care of wrapping/unwrapping objects between the
mismatching request and response bodies in the current API version.

The original work comes from this project:
It's been used in production for a while now for an internal c2c project,
and recently adopted by a geOrchestra microservice.

That said, it's so far only dealing with basic catalog and config objects,
and focuses only on JSON representations.

The OpenAPI 3.0 definition files are being migrated by hand using the
Swagger 2.0 ones as guidelines, and verified to work and match GeoServer's
request/responses by integration testing.

Being a pure client, requiring no other geoserver or geotools dependencies,
it comes with its own pure POJO object model for catalog and config
objects, and uses mapstruct to map between this presentation model and the
internal Catalog/Info object model.

A convenient choice has been made in configuring the object model mapper so
that whenever a change is made to the internal model (e.g. CatalogInfo
class hierarchy), the build will fail on this new module, forcing to keep
them up to date.

Awaiting your comments/approval.

Best regards,
Gabriel Roldán
Geoserver-devel mailing list

Reply via email to