ExpediaGroup / graphql-kotlin

Libraries for running GraphQL in Kotlin
https://opensource.expediagroup.com/graphql-kotlin/
Apache License 2.0
1.74k stars 351 forks source link

Support for Tomcat and Spring MVC #1079

Open coding-jj opened 3 years ago

coding-jj commented 3 years ago

Is your feature request related to a problem? Please describe. We want to migrate existing Spring Boot Rest Projects, which right now use Tomcat to graphql-kotlin. It would be much easier, if we had not to migrate the existing project from tomcat to netty.

Describe the solution you'd like A server preferences switch, that allows to use Tomcat as Web Server

Describe alternatives you've considered none

smyrick commented 3 years ago

Hello @coding-jj,

With the new refactorings we made in 4.0.0 branch, we have the generic graphql-kotlin-server pacakge.

https://expediagroup.github.io/graphql-kotlin/docs/server/graphql-server

This is the generic logic and interfaces to write a server in any framework: Spring Reactive, Spring MVC, Ktor, Spark, etc.

Because we need to understand the type of HTTP object you are using to parse the input and send responses, there is not a common object we can use for Spring Reactive and Spring MVC. They are completely different frameworks: https://expediagroup.github.io/graphql-kotlin/docs/server/spring-server/spring-overview#webflux-vs-webmvc

That being said, just as we have implemented a simple Ktor server as an example, we would be happy to link to any 3rd-party graphql-kotlin-server-spring-mvc library that you published.

smyrick commented 3 years ago

We are planning on eventually adopting spring-graphql which will become the new standard server implementation. Through this we will have support for various spring servers: https://github.com/spring-projects/spring-graphql

tabneib commented 2 years ago

We are planning on eventually adopting spring-graphql which will become the new standard server implementation. Through this we will have support for various spring servers: https://github.com/spring-projects/spring-graphql

@smyrick That sounds great. When will this happen? We are suffering from the lack of support for Spring Security and are considering switching to the DGS-framework. The switching would be a PITA for us.

smyrick commented 2 years ago

The spring-graphql project is not yet ready for full adoption. We were hoping for a GA release to integrate with. https://spring.io/projects/spring-graphql#overview

It sounds like that might be coming in 2022. This might be a good question for that project. We have not tried connecting the two but in theory you could use the current release with our graphql-schema-generator library to get the benefits of schema gen.

okarmazin commented 2 years ago

@smyrick Hello, spring-graphql reached GA in May, maybe this issue is ready to be revisited?