Wie einrichten von Web-API-Routing für einen Proxy-Controller?

Teil meiner Anwendung muss als Proxy-Server für einen Dritten RESTful-web-service. Gibt es eine Möglichkeit einrichten von Web-API-routing, so dass alle Anfragen von der gleichen Art auf die gleiche Methode?

Zum Beispiel, wenn der client sendet in beiden Anfragen BEKOMMEN ich möchte Sie zu gehen, um in einer einzigen Aktion zu ERHALTEN Methode, die dann sendet die Anfrage an die downstream-server.

api/Proxy/Customers/10045
api/Proxy/Customers/10045/orders
api/Proxy/Customers?lastname=smith

Den single-action-Methode für BEKOMMEN würde abholen eine dieser drei Anforderungen und senden Sie Sie an den entsprechenden Dienst (ich weiß, wie man mit HttpClient zu machen, dass passieren effektiv):

http://otherwebservice.com/Customers/10045
http://otherwebservice.com/Customers/10045/orders
http://otherwebservice.com/Customers?lastname=smith

Ich nicht wollen, haben zu eng paar meiner web-service an den Dritten web-service und replizieren Sie Ihre gesamte API-Methodenaufrufe innerhalb mine.

Einen workaround, dass ich dachte, einfach codieren Sie die Ziel-URL in JavaScript auf dem client und übergeben Sie diese in das Web-API, welche dann immer nur einen parameter. Es würde funktionieren, aber ich würde es vorziehen, verwenden Sie die routing-Funktionen in Web-API, wenn möglich.

  • Haben Sie jemals herausfinden? Ich bin versucht, das gleiche zu tun.
  • Noch nicht. Ich fühle mich wie ich bin immer in der Nähe aber mit dem parameter-routing.
  • Ich habe es funktioniert für meine Anforderungen - siehe Antwort gepostet.
InformationsquelleAutor Graham | 2014-08-05
Schreibe einen Kommentar