ich einen Web-Service geschrieben und wird die Anfrage in Form von HttpServletRequest
Objekt, i alle Header für grundlegende Validierung dann senden für Blanks oder null usw. wie die Überprüfungentfernen Wert Kopfball nach HttpServletRequest
public void validateHeader(HttpServletRequest request)
Enumeration<String> headerNames = request.getHeaderNames();
while (headerNames.hasMoreElements()) {
String key = (String) headerNames.nextElement();
String value = request.getHeader(key);
genericHeaderValidator(key, value);
}
}
Wie Sie sehen können, gibt die request.getHeaderNames();
Enumeration<String>
zurück.
Aber in einigen Webservices möchte ich die Validierung überspringen, da der obige Code in einer anderen Klasse geschrieben ist, ich möchte sie intakt halten und möchte, dass die Änderung auf Anruferseite erfolgt.
Zum Beispiel
wenn ich will Validierung von Header überspringen, so genannten „Content-Type“, wenn i request.removeAttribute("content-type");
tue es nicht das Header-Attribut entfernen, so ging ich weiter und dachte, es von Enumeration<String> headerNames
Aber enumeration doesn't allow us to remove any element zu entfernen.
Hat jemand eine Idee, wie Sie ein Element aus den Header-Parametern HttpServletRequest
Object entfernen können.
Nein eigentlich für nur einige Anrufer Ich möchte die Validierung überspringen, daher habe ich den Weg, um den Header von der Anruferseite zu entfernen, ich denke, ich muss eine Klasse mit 'Adapter' Muster schreiben, wo' Iterator' sein kann a ** target ** und 'Enumeration' sollen ** Adaptee ** sein –