Universal content layer by allow plugging in new data sources as plugins
I was using Gridsome before and I kind of liked the approach they had. Data sources were loaded into their data layer, then transformed and exposed via GraphQL.
It meant that you could plug in any data source and load data into the data layer first, and plugins could make transformations afterwards, no matter where the data was coming from (the exception was as far as I know the GraphQL data source plugin which skipped the data layer and was directly hooked into the GraphQL layer)

I'm considering to migrate my Gridsome plugin somehow to Nuxt 3 and nuxt/content. This would have a drawback however:
When coding against the nuxt/content API, I'd be pretty much stuck with Markdown and JSON content forever, and if I'd migrate to some CMS like Directus / Contentful in future, I would have to rebuild my module for that exact SDK. Not only that, I'd also have to rebuild all pages where the content is accessed with the query API.
In my opinion, nuxt/content could act as a universal content layer, allowing custom source plugins to load content into it from any source imaginable by exposing a special plugin API.
What are your thoughts and does this sound feasible?
This is directly related to:
- https://github.com/javalin/javalin/issues/2331
But having official support in-place, we should be able to support it in api builder as well.
After digging the ApiBuilder class, major problem is related is the Endpoint class, which uses the enumerator HandlerType to define the HTTP method. This doesn't permit a simple way to implement a functionality to define a custom HTTP metod for the endpoint