Header verschwinden im Integrationstest des REST-Service

9

Ich habe einen Integrationstest in meiner Grails 3.2.2-Anwendung, der prüfen soll, ob die CORS-Unterstützung funktioniert. Wenn ich die Anwendung starte und etwas wie Paw oder Postman benutze, um eine Anfrage zu machen, zeigt der Breakpoint, den ich in CorsFilter eingestellt habe, dass meine Header richtig eingestellt sind. Aber wenn ich die gleiche Anfrage von einem Integrationstest unter Verwendung von RestBuilder mit dem folgenden Code mache:

%Vor%

Der Haltepunkt in CorsFilter zeigt, dass beide Header null sind:

Und das Seltsame ist, dass, wenn ich in RestTemplate einen Haltepunkt setze, kurz bevor die Anfrage ausgeführt wird, die Header da sind:

Ich verstehe nicht, wie diese Header verschwinden können. Irgendeine Idee?

    
Sebastien 15.11.2016, 13:28
quelle

2 Antworten

2

Ich habe kürzlich an diesem Problem gearbeitet, und obwohl ich nicht weiß, wo RestBuilder den Origin-Header unterdrückt, habe ich einen Workaround gefunden, um zu testen, ob die CORS-Unterstützung von Grails funktioniert: mit HTTPBuilder statt RestBuilder, um den Dienst aufzurufen.

Nach dem Hinzufügen von org.codehaus.groovy.modules.http-builder:http-builder:0.7.1 als testCompile-Abhängigkeit in build.gradle und mit grails.cors.allowedOrigins auf http://localhost , funktionierten die folgenden Tests wie gewünscht:

%Vor%     
Wes Price 23.11.2016 19:44
quelle
0

Hatte das gleiche Problem. Nach einigen Recherchen habe ich herausgefunden: Ссылка , es unterstützt das Senden von 'Origin' und Optionen Anfragen.

%Vor%     
HuTa 20.04.2017 12:24
quelle

Tags und Links