Whenever I try to generate an OpenAPI contract for my API (Reitit+Ring+Malli), it handles [:ref #'Foo] in the expected way by generating a definitions field... but it is local to each individual schema, resulting in separate copies of the same types within each path, and doesn't get lifted into the global https://swagger.io/docs/specification/v3_0/components/ section in the way I would hope. Is there any way to do that, or is this just a limitation of the tooling?
(Sorry for the late answer, I've been away) Lifting the definitions up into components is exactly what should happen! If I run the reitit examples/openapi, I get an openapi.json with
{"components":
{"schemas":
{"example.server.Account": {...},
"example.server.Transaction": {...}}}
... and this is using #'Account style references.
Could you try out the example? Could you try to make a minimal reproduction of your case? Which reitit/malli versions are you using?@joel.kaasinen Late response, but your question pointed me in the right direction. Turns out the problem was an out of date Reitit version. Thanks!