apple / swift-openapi-generator

Generate Swift client and server code from an OpenAPI document.
https://swiftpackageindex.com/apple/swift-openapi-generator/documentation
Apache License 2.0
1.23k stars 89 forks source link

Support deepObject style for query params #259

Open czechboy0 opened 8 months ago

czechboy0 commented 8 months ago

Support deepObject style for query params.

Used by the Stripe API, for example.

czechboy0 commented 8 months ago

Not just for query items, but also URL encoded bodies, once we support them.

tib commented 7 months ago

I just encountered this issue and I'd love to see better support for query params, let me know if you need help with it. :)

czechboy0 commented 7 months ago

Yes support for at least deepObject is planned for 1.0, and it would be awesome if you could contribute it. I suspect most of the changes would be in the runtime library's URIEncoder and URIDecoder, please take a look there and see if adding deepObject support would be a project you want to take on. Note that while it's being improved, it might also make sense to just do https://github.com/apple/swift-openapi-generator/issues/258 as well, as the latter might be a natural extension of the existing logic. deepObject will be slightly more involved, but shouldn't be too difficult.

Take a look at how the encoder/decoder works today and see if you can extend it, and I'm here if you have any questions 🙂

czechboy0 commented 7 months ago

I'll assign you to the issue for now, but don't feel obligated if you decide not to do it, just let me know and I'll unassign it. It's to avoid multiple people working on the same issue 🙂

tib commented 7 months ago

Cool, I'll think about this, but can't promise anything, if I have time I can definitely implement this, it'd be cool to eliminate the current workaround from my sample project. 😅

czechboy0 commented 7 months ago

A related ask for this: https://github.com/apple/swift-openapi-generator/issues/292

czechboy0 commented 7 months ago

Ok just let us know if you start working on this @tib, but no pressure. I unassigned it for now to leave it available for others to pick up.

kstefanou52 commented 2 months ago

Hi @czechboy0, I encountered the same issue so I took the initiative to address it. Excited to hear your thoughts when you get a chance to check my PRs out. Cheers! 🚀

czechboy0 commented 2 months ago

Hi @kstefanou52 - sure I just came back from vacation, let me take a look shortly.

czechboy0 commented 1 month ago

Runtime changes landed in swift-openapi-runtime 1.4.0.