Frage

Ich habe ein normales ASP.NET-MVC-Projekt (keine Web-API).Hier erstellte ich einen neuen Ordner in meinen Controller namens "API", da ich eine einfache API erstellen möchte.

Ich erstellen dann die folgende Klasse:

generasacodicetagpre.

Hier bekomme ich zwei Probleme:

    .
  • httppost: führt zu "mehrdeutige Referenz" (zwischen dem http.httpostattribute und dem mvc.httppostattribute)
  • json () ist nicht erkannt.Es gibt mir einfach ein "Symbol JSON" nicht aufgelöst "JSON"

Wenn ich mich richtig erinnere, würde dies in einem Web-API-Projekt funktionieren.

Was mache ich falsch?Etwas, das ich hinzufügen muss?

War es hilfreich?

Lösung

lars, zweite frage=> Sie können nur offeproductViewModel anstelle von Jsonresult zurückgeben. Jsonresult ist ein ActionResult, das nicht in Webapi verwendet wird.

jsonresult befindet sich im system.web.mvc-Namespace, wo sich der APICONTROLLER im System.Web.http (Web-API-Sachen) befindet.

Erste Frage=> Vergewissern Sie sich, dass Sie nicht auf system.web.mvc in Ihrem APCONTROLLER, nur system.web.http referenzieren.In beiden Namenspaces gibt es ein HTTPPOST-Objekt, in dem Sie die MVC-Version nicht verwenden möchten.

Um JSON als Standard-Return-Typ auf Apicontrollers anstelle von XML einzustellen, können Sie dies in Ihrer WebapiconFig-Klasse wie so verwenden;

generasacodicetagpre.

Scott Hanselman hat auch einen schönen Artikel dazu; http://www.hanselman.com/blog/oneaspnetmakingjsonwebapiswithnnnnnmvc4betaNaSpnetwebapi.aspx

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top