2015-01-12 1 views
0

Итак, я пытаюсь настроить CORS на Restlet 2.3.0 с помощью CorsFilter. К сожалению, я не могу найти способ установить Access-Control-Allow-Methods, чтобы добавить, скажем, POST, GET, OPTIONS.Настройка `Access-Control-Allow-Methods` в Restlet

Проблема заключается в том, что без этого я получаю 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

Добра, я, должно быть, спал! Я пропустил бит 'return corsFilter'! –

+0

Ничего себе! Это то, что меня тоже укусило. Отсюда «Важное!» комментарий в коде выше :-) – Santosh