2015-01-12 49 views
0

所以我試圖用CorsFilter在Restlet 2.3.0上設置CORS。不幸的是,我似乎無法找到設置Access-Control-Allow-Methods的方法,以便我可以添加POST, GET, OPTIONS在Restlet中設置`Access-Control-Allow-Methods`

的問題是,如果沒有這個我不斷收到405錯誤,如:

Request Method:OPTIONS 
Status Code:405 Method Not Allowed 

回答

2

我只是設置此成功地爲我的工作,我沒有補充的是,頭Access-Control-Allow-Methods。我認爲如果你想限制允許跨域訪問的方法,你需要使用它。我跟着你的鏈接中提到的完全相同的代碼:

@Override 
public Restlet createInboundRoot() 
{ 
    // Create a Restlet router that defines routes 
    final Router router = new Router(getContext()); 

    // Add a CORS filter to allow cross-domain requests 
    CorsFilter corsFilter = new CorsFilter(getContext(), router); 
    corsFilter.setAllowedOrigins(new HashSet<String>(Arrays.asList("*"))); 
    corsFilter.setAllowedCredentials(true); 

    // Setup up resource routing 
    // ... 

    return corsFilter; // Important! 
} 
+0

天啊,我一定是睡着了!我錯過了'返回corsFilter'位! –

+0

哇!這正是我自己的想法。因此,「重要!」在上面的代碼中評論:-) – Santosh