2013-02-24 12 views
22

Ich frage mich, ob es möglich ist, rohe HTTP-Daten in einem Cloud-Endpunkt zu sammeln. Ich kann nichts in der Dokumentation von Google finden, aber App Engine Twitter sagte mir, dass es (https://twitter.com/app_engine/status/305747445017624576) war. Wenn ja, kann ich bitte Syntax dafür haben? Ich bin mir bewusst, dass die API für GCE noch in einem frühen Stadium ist, und jede Hilfe würde sehr geschätzt werden.Erste HTTP-Daten (Header, Cookies usw.) in Google Cloud Endpoints

Antwort

45

Fügen Sie Ihrer Endpunktmethode einen HttpServletRequest-Parameter hinzu, z.

@ApiMethod 
public MyResponse getResponse(HttpServletRequest req, @Named("infoId") String infoId) { 
    // Use 'req' as you would in a servlet, e.g. 
    String ipAddress = req.getRemoteAddr(); 
    ... 
} 
+0

Oh, wow! Das ist überraschend einfach. Wird mit Ergebnissen zurückschreiben, danke! – nicksahler

+0

Ja, ich bin ein wenig herumgestolpert und habe versucht, es herauszufinden (ich kann mich nicht erinnern, wo ich die Lösung gefunden habe), war aber zufrieden damit, wie einfach es war, als ich es gefunden habe. – Tom

+1

Wahrscheinlich von hier: https://developers.google.com/appengine/docs/java/endpoints/paramreturn_types#injected_types – Ivan

Verwandte Themen