Satyam Agarwal
07/12/2022, 11:38 AMarrow-endpoint
, but its not on 1.1.2 and all my apps are now on 1.1.2
Can I help in bumping versions and releasing ?
cc: @simon.vergauwensimon.vergauwen
07/12/2022, 12:27 PMSatyam Agarwal
07/12/2022, 12:43 PMsimon.vergauwen
07/12/2022, 2:03 PMSatyam Agarwal
07/13/2022, 6:14 AMsimon.vergauwen
07/13/2022, 9:00 AMI was basically thinking, if the library does just one thing but properly to begin with, it's good enoughI agree, but maybe we should set out with those things are 😄 So I think there are a couple of questions we need to ask: • What do we want to be able to do with an
Endpoint<I, E, O>
• Should we be able to install it as a Route
in Ktor, but also turn it into a RouteHandler
for Spring WebFlux? Or is Ktor
"enough".
• It needs to be able to generate OpenAPI/AsyncAPI documentation
• What about serialisation, are we going to force people to use KotlinX Serialization or do we need a more flexible approach where users can install their own serialization format?
• How composable does each individual part need to be? Is it important that we can define val nameQuery: EndpointInput.Query<String>
or is there not such a strong requirement on the composition of "leafs" but are we happy more of a DSL approach.Satyam Agarwal
07/13/2022, 9:10 AMShould we be able to install it as a Route in Ktor, but also turn it into a RouteHandler for Spring WebFlux? Or is Ktor “enough”.I want to have things nice to have completely separate from the main code flow. I agree this has the potential to make the generation of the openapi docs outdated, but I think we should be able to manage something bound tightly to input and output but also separate from the routes. Anyway, I agree we should atleast find out what ktor team has in their minds regarding openapi support. And I don’t care for spring 😛
simon.vergauwen
07/13/2022, 3:09 PMit looks like the library is baked into the routeI'm not sure what you mean. The "core" of the library is just the ADT + a route resolver (so it effectively takes over routing from the used integration). That is done so you can simply install it as an interceptor as long as it supports
suspend (Request) -> Response
. I don't care for Spring, but I have to deal with it from time to time 😅 But personally I am okay with targeting just Ktor, especially if it can reduce complexity / maintenance drastically.Should we then table the discussion until we have found out more from the ktor team ?Getting more info on this would be great! I need OpenAPI gen for some Ktor projects, and have been contemplating writing a compiler plugin with some DSL since I didn't know this was on the roadmap.
Satyam Agarwal
07/14/2022, 1:04 PM