graphql-query-complexity
apollo-android
graphql-query-complexity | apollo-android | |
---|---|---|
4 | 9 | |
681 | 3,671 | |
0.1% | 0.4% | |
0.0 | 9.8 | |
7 months ago | 4 days ago | |
TypeScript | Kotlin | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
graphql-query-complexity
-
Migrating Netflix to GraphQL Safely
https://github.com/slicknode/graphql-query-complexity
In addition you could introduce CI tools to enforce your devs stop writing such complex queries. Also see the @skip and @include directives that can further be used to control what data is queried. In practice, however, this isn't something that comes up too much. In cases where I have seen this happen, it's usually because a developer is trying to reuse fragments without considering what data they are querying, and whether they should be reusing those fragments.
https://graphql.org/learn/queries/#fragments
-
GraphQL DoS amount-attack "breadth"
very cool! I was looking at https://github.com/slicknode/graphql-query-complexity
-
Preventing GraphQL batching attacks
There are a couple of techniques that can be used to prevent this kind of problem one of them is GraphQL Query Complexity Analysis which is, as the name suggests, very complex to implement correctly. It requires analysis of how the graphql API is used, and what queries and mutations are most often called. If you get this wrong, there is a danger of the server denying perfectly valid queries.
-
To GraphQL or not to GraphQL? Pros and Cons
The problem is that those queries are not prevented by commonly available rate limiters. You can send a single request to a GraphQL server that completely overwhelms the servers. To prevent such queries to GraphQL APIs, I wrote graphql-query-complexity, an extensible open-source library that detects such queries and rejects pathological queries before consuming too many resources on the server. You can assign each field a complexity value, and queries that exceed a threshold will be rejected. In Slicknode this protection is added automatically based on the number of nodes that are being returned.
apollo-android
-
Migrating Netflix to GraphQL Safely
GraphQL queries are just HTTP POST queries with a JSON body. They're supported everywhere.
If you want specialized tooling for them, Kotlin and Swift both have great strongly-typed GraphQL libraries.
Apollo publishes libraries for both:
- https://www.apollographql.com/docs/kotlin/
- https://www.apollographql.com/docs/ios/
-
How to build a Snowflake API?
An example of a Snowflake API request using Java. This example uses Java’s built-in HttpClient and constructs JSON manually, so it doesn’t require additional dependencies; however, in production, you should use a library like Jackson for constructing JSON. Additionally, for stronger typing, you could use Apollo’s Kotlin-based GraphQL client.
-
Converting union type to Kotlin (Apollo GraphQL library)
Can you elaborate on what you are trying to do? Why do you generate those classes manually? If you are using Apollo Kotlin then it will generate your data classes based on your query.
-
Migrating Android to GraphQL Federation
We continue to rely on Apollo Kotlin (previously Apollo Android) as we migrate to Federation. It has evolved quite a bit since its creation and has been hugely useful to us, so it’s worth highlighting before jumping ahead.
-
Flutter vs Kotlin Multiplatform Mobile (not a holywar)
- found Flutter graphql is way ahead , even almost mature as Apollo for JS. apollo-kotlin is several miles behind, a lot of issues, absolutely inconvenient usage after graphql-flutter
- Java Spring Boot DTO Mapping in GraphQL
-
Introducing Apollo Kotlin
The announcement is at https://www.apollographql.com/blog/announcement/introducing-apollo-kotlin/ and the repo at https://github.com/apollographql/apollo-kotlin. Try it out and let us know what you think!
-
GraphQL - Diving Deep
Apollo Client does have a good integration with these frameworks including React, iOS and Android — so, you might want to check that out
-
Any good java graphql client suggestions ?
Hi 👋Martin from https://github.com/apollographql/apollo-android here. Can you ellaborate more on "created schema files are not serialized" ? For Android app, I usually recommend separating the persistence layer and the network models so that they're not coupled. But maybe it's different from a microservice?
What are some alternatives?
dataloader - DataLoader is a generic utility to be used as part of your application's data fetching layer to provide a consistent API over various backends and reduce requests to those backends via batching and caching.
ktor - Framework for quickly creating connected applications in Kotlin with minimal effort
starter-nextjs-blog - NextJS + Slicknode Headless GraphQL CMS blog starter kit
GraphQL Kotlin - Libraries for running GraphQL in Kotlin
crystal - 🔮 Graphile's Crystal Monorepo; home to Grafast, PostGraphile, pg-introspection, pg-sql2 and much more!
javalin - A simple and modern Java and Kotlin web framework [Moved to: https://github.com/javalin/javalin]
graphql-no-batched-queries - Graphql validation to disable batched queries and mutations.
http4k - The Functional toolkit for Kotlin HTTP applications. http4k provides a simple and uniform way to serve, consume, and test HTTP services.
analysis-ui - Front-end for Conveyal Analysis. Model and analyze transport scenarios.
hexagon - Hexagon is a microservices toolkit written in Kotlin. Its purpose is to ease the building of services (Web applications or APIs) that run inside a cloud platform.
falcor - A JavaScript library for efficient data fetching
KGraphQL