Pracuję nad aplikacją dropwizard i js ui do interakcji z interfejsem API. Muszę załadować dane json, aby zaktualizować widoki, ale muszę wcześniej włączyć cors w Dropwizard. Zrobiłem trochę pracowników, ale wygląda na to, że nie działa, ponieważ program Dropwizard zawsze zwraca 204 treści.Włączanie cors w dropwizard nie działa
@Override
public void run(final BGConfiguration configuration, final Environment environment) throws Exception {
final Map<String, String> params = new HashMap<>();
params.put("Access-Control-Allow-Origin", "/*");
params.put("Access-Control-Allow-Credentials", "true");
params.put("Access-Control-Expose-Headers", "true");
params.put("Access-Control-Allow-Headers", "Content-Type, X-Requested-With");
params.put("Access-Control-Allow-Methods", "GET, POST, PUT, DELETE, OPTIONS");
environment.servlets().addFilter("cors", CrossOriginFilter.class).setInitParameters(params);
}
Dobrym pomysłem jest dodanie autoryzacji w nagłówkach, jeśli używasz tego –
@Mike Clarke Wish Widziałem Twój komentarz wcześniej. Niezbędne z AngularJS – neric
Dla dropwizard 0.8.4 musieliśmy ustawić "allowedHeaders" na "*", aby działało w aplikacji AngularJS. –