Indeed, to echo that reply, when I evaluated OData, I concluded that it possibly set out some useful patterns, but fully implementing the specification looked like it would inevitably tie the representation in the UI to a database model that exactly corresponded, unless you did a lot of heavy lifting to avoid that coupling.
As near as I can tell, best approach might be to implement Swagger / OpenAPI.
Eric.