Ich versuche, eine RESTfull-Web-Service-Ressource aufzurufen, diese Ressource wird von einer Drittpartei zur Verfügung gestellt, die Ressource wird mit OPTIONS http Verb veröffentlicht.Wie senden HTTP OPTIONS-Anfrage mit Körper mit Spring Rest-Vorlage?
Um mit dem Dienst zu integrieren, sollte ich eine Anfrage mit einem bestimmten Körper senden, welche Identitäten von einem Anbieter, aber wenn ich das tat, bekam ich eine schlechte Anfrage. Ich erkannte Danach habe ich meinen Code verfolgen dann, dass der Körper des Antrags durch Ruhe Vorlage basiert auf den folgenden Code ignoriert wird:
if ("POST".equals(httpMethod) || "PUT".equals(httpMethod) ||
"PATCH".equals(httpMethod) || "DELETE".equals(httpMethod)) {
connection.setDoOutput(true);
}
else {
connection.setDoOutput(false);
}
meine Frage, ist es eine standardisierte Möglichkeit, dieses Verhalten zu überschreiben, oder sollte ich ein anderes verwenden Werkzeug?
Ich habe die gleiche abgeleitete SimpleClientHttpRequestWithGetBodyFactory mit connection.setDoOutput (true) für httpMethod = OPTIONS erneut getestet. Das Rest-Template wirft: org.springframework.web.client.ResourceAccessException: E/A-Fehler bei OPTIONS-Anfrage für "http: // localhost: 18181/test": HTTP-Methode OPTIONS unterstützt keine Ausgabe; Die verschachtelte Ausnahme ist java.net.ProtocolException: Die HTTP-Methode OPTIONS unterstützt keine Ausgabe. Aus diesem Grund haben Optionen connection.setDoOutput (false); –