Wie (auto) erzeugen eine webapi controller für MVC + Entity oder generisch Abfrage alle Arten
Wird neu in MVC4 + Entity + WebAPI war ich zu frustriert, um einfach GET -, POST-controller-Handlern und benutzerdefinierten mappings, um Daten-Modelle.
Was ich denke, ich bin zu Fragen, gibt es eine generation tool, um zum Beispiel machen Ihre controller-Klasse aus den Daten der Klasse, so kann ich nur tun, einfache GET-Befehlen direkt aus den Daten?
Was ist der Ansatz, um eine generische RESTful API Befehle gemacht werden könnten, als solche
BEKOMMEN-api/1.0/{genericdatatype}/{id}
wo die generischen Datentyp kann sein Modell und keine spezielle Controller? Sagen brauche ich nicht SETZEN (abgewickelt durch die MVC-app), so dass ich nicht wirklich brauchen-POST-Validierung etc.
- Ich denke, der erste Grund, warum ich wollte, das war, weil ich hatte front-end-devs warten, um zu beginnen, die Integration services. Es wäre schön gewesen, wenn ich hätte 'ausgepumpt aus' eine grundlegende CRUD API ohne Arbeit. Aber, wenn Sie bereit sind zu geben, RDB (und verwenden Sie nur für kalte Lagerung) und gehen-Dokument speichern, sind Sie problem ist gemildert.
- siehe meine aktualisierte Antwort unten: OData.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gibt es ein tool/Paket namens MVC-Gerüst, bauen Sie Ihre Steuerungen auf der Basis Ihrer Modelle.
http://mvcscaffolding.codeplex.com/
http://blog.stevensanderson.com/2011/01/13/scaffold-your-aspnet-mvc-3-project-with-the-mvcscaffolding-package/
Als für die generische Stück, das ist ein sehr langer und schwieriger Prozess, der würde auch viel Zeit. Ich würde gerne sehen, dass auch, wenn jemand eine gute Antwort für Sie.
EDIT: ich habe einige zusätzliche Zeit der Suche in die generische Stück. Es sieht aus wie jemand anderes hatte ein ähnliches dachte, und fragte eine fast identische Frage hier: Generische Web-Api-controller zu unterstützen-Modell.
Am Ende des Tages, Sie Sprach einige ausgezeichnete Anliegen in diesem Gespräch. Wie gehen Sie mit verschiedenen Arten von IDs? Würde Sie müssen immer strings sein und dann ausgewertet? Und sobald man in mehr business-Regeln, die ich vermute, dass, würde man eine sehr komplizierte business-Schicht hinter dem controller. Das heißt, ich würde sagen, Sie sind besser dran kleben mit gerade Baugerüst, anstatt die Entwicklung einer generischen API. Sicher, es konnte wahrscheinlich gemacht werden, aber zu welchen Kosten in Zeit und verrückt Parsen von code hinter der API? Nur meine Gedanken.
Wahrscheinlich ist diese Antwort zu spät für die original-poster, aber vielleicht können andere diesen nutzen.
Ich nur gekocht, bis dieses generischen base-api-controller für MVC-5-code-first CRUD-Operationen:
Hatte ich noch zu machen Unterklassen für jede DbSet wie diese:
machen diese routing-Arbeit:
Biete ich eine alternative mir, dass unser team übernommen hat. OData. Es ist eine schnelle Möglichkeit zum erstellen Ihrer ersten Erholsamen Vorlage, mit mehr Nachdruck auf die Abfrage als CRUD, es Daten zur Verfügung stellt, ohne zu bauen Endpunkte selbst, manuell. Ich mache die front-end jetzt für ein Projekt, das OData auf der Web-API-server und das funktioniert hervorragend, um die back-end-Entwickler arbeiten auf wichtigere Angelegenheiten als Sammlungen Endpunkte.
Funktioniert es mit Entity framework, zu.