在 Restlet 中设置 `Access-Control-Allow-Methods`
Setting `Access-Control-Allow-Methods` in Restlet
所以我正在尝试使用 CorsFilter 在 Restlet 2.3.0 上设置 CORS。不幸的是,我似乎无法找到一种方法来设置 Access-Control-Allow-Methods
以便我可以添加 POST, GET, OPTIONS
。
问题是,如果没有这个,我会不断收到 405 错误,例如:
Request Method:OPTIONS
Status Code:405 Method Not Allowed
我刚刚为我的工作成功设置了这个,我没有添加 header Access-Control-Allow-Methods
。如果您想限制 cross-domain 访问的允许方法,我认为您需要使用它。我遵循了与您 link:
中提到的完全相同的代码
@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!
}
所以我正在尝试使用 CorsFilter 在 Restlet 2.3.0 上设置 CORS。不幸的是,我似乎无法找到一种方法来设置 Access-Control-Allow-Methods
以便我可以添加 POST, GET, OPTIONS
。
问题是,如果没有这个,我会不断收到 405 错误,例如:
Request Method:OPTIONS
Status Code:405 Method Not Allowed
我刚刚为我的工作成功设置了这个,我没有添加 header Access-Control-Allow-Methods
。如果您想限制 cross-domain 访问的允许方法,我认为您需要使用它。我遵循了与您 link:
@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!
}