0

Ich habe eine AddCategory() Methode in meinem -Controller:

[RoutePrefix("api")] 
    public class CategoryController : ApiController 
    { 
      .... 
     [Route("addCategory")] 
     [HttpPost] 
     public void AddCategory(string category) 
     { 
     var getCat = category; 
     } 

Am meinen Home.html habe i-Taste Speicher neue Kategorie i schrieb die $ http.post Methode für sie:

var testString = "TEST String"; 
      var req = { 
       method: 'POST', 
       url: '/api/addCategory', 
       data: testString, 

      }; 
      $http(req).then(function successCallback(response) { 
       console.log("Success"); 
       }, function errorCallback(response) { 
        console.log("Eror"); 
       }); 

Aber ich habe den nächsten Fehler:

angular.js:11442 POST http://localhost:6059/api/addCategory 404 (Not Found)

Am Netzwerk Lesezeichen in Entwicklung Konsole i finded den Fehler: enter image description here

sein kann, ist es wichtig, aber ich deaktiviert XML in WebApiConfig.cs:

var json = GlobalConfiguration.Configuration.Formatters; 
     json.JsonFormatter.UseDataContractJsonSerializer = true; 
     json.Remove(json.XmlFormatter); 

Kann jemand weiß sein, wie ich es ändern kann? Danke für deine Antworten!

+0

Können Sie Postboten verwenden und eine Anfrage an/api/addCategory senden? – Pterrat

+0

ja, ich habe es geschafft: error: * Es wurde keine Aktion auf der Controller 'Kategorie' gefunden, die der Anfrage entspricht * –

Antwort

2

Die Methode Post muss IHttpActionResult zurückgeben. oder Ihre Anfrage http gibt immer Code 404.

Try this:

[RoutePrefix("api")] 
    public class CategoryController : ApiController 
    { 
      .... 
     [Route("addCategory")] 
     [HttpPost] 
     public IHttpActionResult AddCategory(string category) 
     { 
     var getCat = category; 
     if(getCat != null) 
      return Ok(); 

     return NotFound(); 
     } 

ich Rat Sie Api Rest in C# mit $ resource Winkel zu verwenden. In meinen Augen ist es das beste Muster.

+0

Ich habe Probleme mit der Serialisierung und Probleme mit dem Senden von Objekt an meinen Controller, es ist meine erste http.post Anfrage. Danke für deine Hilfe! –

+0

U kann [FromUri] oder [FromBody] in Parametern von AddCategory verwenden – Pterrat

0

Das Problem mit dem Dienst wird Sie anrufen, Mittel 404 nicht gefunden:

404 http error

daher etwas in der Dienst-URL oder in Ihrem lokalen Server funktioniert nicht.