Ich versuche, einige Fehlerbehandlung in meine MCV AngularJS-Anwendung zu implementieren, stieß aber auf dieses eine Problem, das ich nicht sicher bin, wie zu lösen.Benutzerdefinierte Fehlermeldung mit Content-Type-Antwort
Struktur
In meinem AngularJS Service ticketService
Ich habe die folgende Methode:
this.downloadFile = function (fileId) {
return $http.get(baseUrl + "/Downloadfile/" + fileId, { responseType: "blob" });
}
Und in meinem Controller:
$scope.downloadFile = function (fileId) {
ticketService.downloadFile(fileId)
.then(function (response) {
// Handle correct request and response
}, function (err) {
// Handle error
notify({ message: "Something went wrong: " + err.data.Message, position: "center", duration: 10000 });
})
}
Hier ist, was ich aus der Backend-MVC Web-API-Methode zurückgeben :
var error = new HttpError("Failed to find file, bla bla bla.");
return Request.CreateResponse(HttpStatusCode.NotFound, error);
Problem
Mein Problem ist, dass seit meinem responseType
gesetzt blob
zu sein, mein err
Objekt ist der gleiche Antworttyp. Ich würde glauben, dass es für meinen Back-End-Dienst möglich sein sollte, diesen Antworttyp zu überschreiben und mit einem Objekt zu antworten, das einige Message
enthält.
Von dieser Antwort hätte ich gedacht, dass ich err.data.Message
bekommen könnte, aber vielleicht habe ich dieses Szenario missverstanden?
Vielen Dank im Voraus.
Haben Sie mit "HttpResponseMessage" in der API-Methode überprüft? –
Ich bin mir nicht sicher, wie man eine benutzerdefinierte Nachricht auf das 'HttpResponseMessage'-Objekt anwendet. Ist das nur auf den Inhalt? – Detilium
@BasantaMatia 'HttpResponseMessage' gibt mir das gleiche Problem. Immer noch sind meine Antwort Typ und Objekt vom Typ 'Blob' – Detilium