簡體   English   中英

在Google Cloud Endpoints中獲取原始HTTP數據(標題,Cookie等)

[英]Getting raw HTTP Data (Headers, Cookies, etc) in Google Cloud Endpoints

我想知道是否有可能在Cloud Endpoint中收集原始HTTP數據。 我似乎無法在Google的文檔中找到任何內容,但App Engine的Twitter告訴我它是( https://twitter.com/app_engine/status/305747445017624576 )。 如果是這樣,我可以請它的語法嗎? 我知道GCE的API仍處於早期階段,任何幫助都將不勝感激。

將HttpServletRequest參數添加到您的端點方法,例如

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

該請求在Endpoints方法中可用作注入類型 當您在具有該類型的方法上聲明參數時,將無形中將HttpServletRequest類型的對象注入到Java方法定義中,如下所示:

import javax.servlet.http.HttpServletRequest;
...

@ApiMethod
public MyMethod getRequest( HttpServletRequest req ) {

HttpServletRequest myRequest = req;
...
}

這在此處記錄:

https://cloud.google.com/endpoints/docs/frameworks/java/parameter-and-return-types#injected_types

引自上述文件:

注入類型

注入類型是由Cloud Endpoints Frameworks接受特殊處理的類型。 如果將此類型用作方法參數,則不會將其作為API的一部分。 相反,該參數由Endpoints Frameworks填充。

注入的類型如下:

com.google.appengine.api.users.User

javax.servlet.http.HttpServletRequest

javax.servlet.ServletContext

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM