Ich bin ziemlich neu in MVC, so hoffe ich, es gibt eine Lösung für mein Problem. Ich verwende Hardware von Drittanbietern, um mit meiner MVC-Web-API zu kommunizieren. Die Hardware sendet Anfragen in einem JSON-Format, das ich perfekt extrahieren kann. Ich bin jedoch dabei, die Parameter dieser Anfragen aufgrund von Konflikten in bindende Modellobjekte zu ändern.Inhalt Header für MVC POST Anfrage überschreiben
E.G.
Public Function POSTRequest(Action As String, Stamp As String) As HttpResponseMessage
...
End Function
Public Function POSTRequest(Action As String, OpStamp As String) As HttpResponseMessage
...
End Function
Also diese beiden Methoden teilen sich die gleiche Calling Card, so dass sie beide nicht in der gleichen Controller existieren können.
Aus diesem Grund habe ich Modell Bindungs Objekte erstellt stattdessen diese Parameter zu beherbergen. Das Problem ist, sobald ich dies mache, beschwert sich die Web-API über die Anfrage, dass der "Content-Type" nicht definiert ist. Wenn Sie es betrachten, sendet die Hardware von Drittanbietern keinen Inhaltstyp mit der Anforderung. Im Internet habe ich festgestellt, dass dies dazu führt, dass der Browser es als Inhaltstyp "application/octet-stream" behandelt. Dies kann dann nicht in das als Parameter definierte Bindungsobjekt übersetzt werden.
Wir haben keine Kontrolle über die Hardware von Dritten, so dass wir den Inhaltstyp für diese Anforderungen nicht definieren können. Meine Frage ist also, gibt es eine Möglichkeit, diese Anfragen abzufangen und ihnen einen Inhaltstyp hinzuzufügen? Oder noch einen anderen Weg?