Otra cosa con la que hay que tener cuidado es con el cache del lado del servidor. Los requests GET son sujetos a ser cacheados, es decir, que si tu envias dos veces el mismo request GET, la 2da vez el servidor te va a responder con los mismos datos que te devolvio la primera vez (siempre y cuando el URL del request sea exactamente igual al anterior).
Esto implica que si quieres estar 100% seguro que el request se vuelve a procesar para que te devuelva data actualizada, tienes que:
a) Asegurarte que el URL del GET sea distinto cada vez. Una forma de hacer esto es agregar un valor random en el querystring, por ejemplo:
GET /prueba/MyGetFunction?name=prueba&version=39839833
donde el valor de "version" es un numero random.
b) Usar otro verbo para invocar el endpoint, como PUT. Los verbos POST, PUT, PATCH o DELETE no son cacheados asi que siempre se van a ejecutar aunque el URL sea exactamente igual a uno enviado anteriormente. La otra ventaja con estos verbos es que puedes pasar data en el cuerpo mediante JSON, cosa que no es posible con un request GET.
Victor Espina