kbendick commented on pull request #3561: URL: https://github.com/apache/iceberg/pull/3561#issuecomment-984274681
> We were thinking more along the lines of the second option, having the REST API code generated from the Swagger definition. But I'm flexible as long as we have an OpenAPI source of truth and make sure we don't make accidental changes to it. If we want to have the client generated from this document, we should probably use annotations in the code as mentioned by @nastra. Even then, I don't feel the clients necessarily would respect all of the desired behavior we would want, particularly in the Java based catalog (though they could be "good enough" in a lot of places, particularly for curl commands and additional languages - either as a basis or just a client). I have some of the annotations in another branch like @nastra demonstrated. More class definitions and things would need to be defined to add them in meaningfully, so I thought possibly that could be a next phase of this process if so desired. The hardest part was figuring out a good way to generate even the OpenAPI doc from the annotations without using Spring etc. I saw some gradle tools but nothing stood out as canonical when I looked and I eventually just used Spring. I can push some of them in another branch (this PR is already hard to open) and then if they provide value we can move forward with them. If we want to rely on this document (and not just use it for discussion), we should definitely consider the annotations. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
