Camel rest-dsl-senden von 400-Status-codes
Ich bin Entwicklung von REST-services mit Kamel REST-DSL - [in camel Dokumentation] Komponente.Ich bin erfolgreich in senden JSON-Anfrage für happy-Pfad und erhalten Sie die Antwort auf der gleichen Verwendung (Rest-DSL-und Kamel-servlet) - Kombination. Nun, wie wir uns vorwärts bewegen, kann sich der client gesendete Rest-Dienst-Anforderung mit nicht genug Werte oder ungültige gültige Anfrage ,jetzt bin ich auf der Suche nach Möglichkeiten zum senden von 400 status-code als Antwort von REST-DSL, wenn die Anfrage nicht gültig ist.
Bitte beraten Sie auf dem Weg, dies zu erreichen.
- Sie möchte einige Verarbeitung und dann nach, dass Sie brauchen, um zu senden, die nicht gültige Antwort? wenn ja, dann ist Antwort Formular Pierre-Alban funktionieren würde. Oder müssen Sie senden Sie die ungültige Antwort, wenn ein bestimmter Fehler Szenario passiert?
- richtige Naveen,so dass ich überprüft, ob der Eingang und dann, wenn die Validierung fehlschlägt, muss ich schickte Antwort der Status-Code 400.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich gehe davon aus, dass Sie dabei sind, Ihre Validierung in einer benutzerdefinierten Prozessor oder etwas ähnliches. Wenn Sie möchten, senden Sie Ihre HTTP-Fehler-code fügen Sie einfach den Kopf Austauschen.HTTP_RESPONSE_CODE.
Beispiel : exchange.getIn().setHeader(Exchange.HTTP_RESPONSE_CODE, 400);
Verhalten kann abhängig von der engine, die Sie verwenden. Als Dokumentation sagt, es sollte funktionieren mit servlet-engine :
Vorgeschlagen von Pierre-Alban, die Sie möglicherweise überprüfen Sie die payload in Prozessor oder service-Klasse, und legen Sie die richtige Antwort-code und die Nachricht in den Prozessor.
Eine weitere Möglichkeit ist das werfen einer Ausnahme von validator-Methode und lassen Sie die route builder Griff, die Ausnahme. So etwas wie dieses: