So I’ve been using Apollo in order to fetch data from the SpaceX Api. Everything has worked great until recently where the app suddenly gives me the error:
" **"graphQLResult: GraphQLResult<Data>(data: Optional(RocketWatch.LaunchesQuery.Data(resultMap: [\"launches\": nil])), errors: Optional([Woah there ✋, you are doing way too much launches]), extensions: nil, source: Apollo.GraphQLResult<RocketWatch.LaunchesQuery.Data>.Source.server, dependentKeys: Optional(Set([\"QUERY_ROOT.launches\"])))"**
I suspect I receive this error due to many requests but I am not sure. How do normal people debug a tableview which is using data from an api?
Hi @MrJ - you’re correct, that looks like an error being returned from the server. There is nothing in Apollo iOS that would prevent you from executing as many requests as you want.
Thank you for your reply @calvincestari. After som research I found this online, see image. It is the same error message which is being displayed for me. So there seems to be a rate limit from Apollo after all?
No - there is definitely no rate limiting in Apollo iOS and, as far as I know of, there is also no rate limiting in Apollo Server.
The code you’re referring to is from the article title Securing Apollo Federated Applications. One of the suggestions in there is Rate Limiting and that code shows how you can implement rate limiting if you want to. It also requires the use of a third-party library, graphql-rate-limit.
Since you’re encountering this in a public GraphQL service, it makes sense that they have implemented rate limiting.
We also just started up an Apollo Discord for more real-time chat and live streaming. If you come over there, feel free to ping me and we can jump on a stream to talk more about your questions.