Wie funktioniert die ApiController Klasse arbeiten und sich Verhalten?

Ich untersucht, wie die Verwendung von APIs in ein MVC-Projekt, aber ich habe einige Zweifel daran. (Ich Schreibe in C# - Sprache, bevor jemand fragt).

So weit, dass ich weiß, dass der Api-route-Konfiguration wird in der WebApiConfig Klasse und standardmäßig die route ist:

routeTemplate: "api/{controller}/{id}"

Durch, dies zu tun, wenn ich zum Beispiel einen jSon-request, das ich weiß, was URI ich habe zu nennen, um zu einem bestimmten Ergebnis.
Aber ich würde gerne mehr spezifisch, daher modifizierte ich die Api die route:

routeTemplate: "api/{controller}/{action}/{id}"

Mit dieser route werde ich in der Lage zu bauen, URI direkt eine bestimmte Aktion (Methode?) in meinem ApiController.

Außerdem habe ich gelernt, dass die /{controller}/ beim Aufbau des URI mit jSon, ist der name der Klasse. Das ist, wenn die Klasse ProductsController den Namen der Domänencontroller, die ich habe zu verwenden, bauen Sie den URI nur /products. (Also die gesamte URL wird /api/products).

Hier Fragen sind:
Wenn ich eine ApiController Klasse mit nur Products, ist es erkennbar als Teil einer URI? Oder die ApiController Klasse haben am Ende mit "Controller"?
Das nach einem tutorial habe ich meine ApiController il selben Ordner wie die anderen Controller. Ich weiß, dass ist möglich, Apis in verschiedenen Ordnern. So, ist, dass jede einzelne API automatisch erkannt MVC? Ich meine, , wo ich Sie zu speichern, sind Sie anerkannt als API?
Wenn dem so ist, konnte ich schließlich rufen eine API mit Sitz in einem anderen Projekt als die, die ich bin zu arbeiten auf?
Kann ich ein einzelnes Projekt erstellen (Klassenbibliothek) mit einer Sammlung von APIs?
Führt die route-Konfiguration ändern, wenn ich will, nennen eine API in eine eigene Projekt?

seinen HTTP-request, JSON ist nur relevant, wenn die Anforderung ist, dass der Inhalt oder einen Accept-header.
tun Sie wirklich wollen, eine URI wie api/Product/Get/1 ? Sollte nicht das verb von der HTTP-Anforderung definieren die Aktion?
Er sagt nicht, er will eine Aktion genannt Bekommen. Die Aktion könnte alle möglichen Dinge wie z.B. api/Produkte/Zusammenfassung oder api/Products/Details
Ich sehe, was Sie bekommen, aber ist das nicht eine Korruption der REST? asp.net/web-api/overview/web-api-routing-and-actions/...
Vielleicht, mein Beispiel war schlecht, aber viele gute APIs haben mehr als nur CRUD-Operationen in Ihnen. Das ist meine Meinung wirklich.

InformationsquelleAutor krvl | 2013-09-13

Schreibe einen Kommentar