Asp.net Web API als Api-Gateway

8

In meiner Organisation habe ich mehrere asp.net Web-API-Projekte.
Ich bin bereit, eine Web-API zu entwickeln, die wie ein Gateway funktioniert und einen einzigen Einstiegspunkt hat.

Ich habe Handler und Filter ausprobiert, aber das erlaubt mir das nicht.

Lass mich erklären, was ich wirklich tun möchte

Lassen Sie HumanResourceProject unter: api.domain.com/api/hr Beispiel-Sample-Controller ist api / hr / LeaveRecord / GetByEmployee /
Lassen Sie CRMProject unter: api.domain.com/api/crm
Der Sample-Controller ist api / crm / Kunden / GetByRegion /
Gateway unter: api.domain.com/api/gateway

Ich möchte, dass mein Gateway Anforderungen wie
verarbeitet 1. api.domain.com/api/gateway/api/crm/Customers/GetByRegion /
        oder
    api.domain.com/api/gateway/api/hr/LeaveRecord/GetByEmployee /

  1. Erstelle einige Steuerelemente wie ip / access / browser usw.

  2. Ich möchte den korrekten api-Controller api / crm / Customers / GetByRegion /

  3. aufrufen
  4. Gibt die Antwort des Controllers der aufgerufenen API zurück.

    
zapoo 02.11.2015, 14:53
quelle

1 Antwort

-1

OK,

  1. Sie müssen zuerst Ihre Web-API-Routen registrieren. Stellen Sie sicher, dass Sie das Routenformat in der Datei WebApiConfig.cs folgendermaßen zuordnen:

    %Vor%
  2. Erstellen Sie Web-API-Controller und legen Sie das Routenpräfix fest

%Vor%
  1. Erstellen Sie Ihre Controller-Methoden für Ihre Anfragen
%Vor%
  1. Ich würde Ihnen raten, Ihre Endpunkte mit Tools wie Fiddler oder Chrome Extensions wie Rest Console zu testen, um Ihre get / post Anfrage etc.
  2. zu machen

edit: Es ist immer gut, Ihre Parameter in eine Modellklasse zu packen, falls Sie ein unbekanntes komplexes Objekt haben, das beim Erstellen der Anfrage ein Problem verursachen könnte. Schnüffeln Sie den Verkehr würde Ihnen helfen, das Problem leichter zu finden.

    
Kubi 03.11.2015 06:38
quelle

Tags und Links