Die Hintergrundgeschichte ist ich habe eine Web-API, die einfach als ein Gateway dient, um externe Dienste aufzurufen. Der Grund dafür ist, dass ich die echte Business-API nicht für externe Services verfügbar machen möchte. In diesem Gateway-Controller empfängt es einfach die Informationen von der Business-API, ruft externe Services auf und gibt die Antwort an den Client zurück, der die Business-API darstellt. In meinem Gateway Controller habe ich eine POST-Aktion, die einen Parameter vom Typ HttpContent
, so etwas wie dies geschieht:Wie kann ich Parameter des Typs HttpContent in Web API übergeben?
[Route("api/test")]
public void Test(HttpContent content)
{
}
aber die Web-API-Infrastruktur nicht weiß, wie zu serialisiert und deserialisiert HttpContent
Typen. Gibt es eine Möglichkeit, mein Szenario zu unterstützen? Vielen Dank.
Das Problem ist, einige der externen Dienste akzeptiert GET und einige POST und sogar der Inhaltstyp kann auch variieren. Daher sehe ich keine einfache Möglichkeit, die Anfrage von der Business-API weiterzuleiten und an entfernte externe Dienste zu senden. – Nico
Sie könnten vielleicht einen Blick auf die http-Message-Handler [hier] (https://docs.microsoft.com/en-us/aspnet/web-api/overview/advanced/http-message-handlers) werfen und Ihre aber rollen Das ist eine andere Geschichte. Wenn dieser Beitrag Ihre Frage beantwortet, akzeptieren Sie sie bitte. – gfache