2

Ich habe zwei Wep APIs. Ich habe CRUD Operation mit einem zB gemacht. Kunde. Aber wenn ich eine anderen ähnlichen Web-API gebaut und so genannte Methode Es zeigt:Aufruf von Methoden von einer API ist getan, aber Gesicht Not Found Fehler auf zweite API

{...} Nachricht: „Keine HTTP-Ressource wurde gefunden, dass die Anforderungs-URI entspricht http://localhost:23995/Product/Insert‘.“

MessageDetail: "Keine Route einen Controller-Namen bereitstellt wurde gefunden Spiel Anforderungs-URI '[[gleichen Link wie hier oben]]'"

Hier ist meine JS-Methode aufrufen:

$scope.Insert = function() {  

    $http({ 
     method: 'post', 
     url: 'http://localhost:23995/Product/Insert', 
     data: JSON.stringify($scope.Product) 
    }).then(function (response) { 
     alert("chec"); 

    }); 
} 

Auch in den Controller-

// Insert 
[HttpPost] 
[Route("{controller}/Insert")] 
public string Insert([FromBody] Product newProd) { 
    newProd.Insert(); 
    return newProd.DbResponse; 
} 

In Lieferanten-Controller

// Insert 
[HttpPost] 
[Route("{controller}/Insert")] 
public string Insert([FromBody] Product newProd) { 
    newProd.Insert(); 
    return newProd.DbResponse; 
} 
+0

Auch in den Controller- // Insert [Httppost] [Route ("{Controller}/Einfügen")] öffentliche Zeichenfolge Einfügen ([FromBody] Produkt newProd) { newProd.Insert(); Rückgabe newProd.DbResponse; } In Lieferanten-Controller // Insert [Httppost] [Weg ("{Controller}/Insert")] public string Insert ([FromBody] Produkt newprod) { newprod.Einfügen(); Rückgabe newProd.DbResponse; } – user3634908

+0

sollten Sie bearbeiten, um Ihre Frage und nicht die Kommentare zu verbessern. – Nkosi

Antwort

0

Angenommen, Sie haben bereits Attribut-Routing aktiviert.

Attribute Routing in ASP.NET Web API 2

Um Attribut Routing, rufen MapHttpAttributeRoutes während Konfiguration zu aktivieren. Diese Erweiterungsmethode ist in der Klasse System.Web.Http.HttpConfigurationExtensions definiert.

using System.Web.Http; 

namespace WebApplication 
{ 
    public static class WebApiConfig 
    { 
     public static void Register(HttpConfiguration config) 
     { 
      // Web API routes 
      config.MapHttpAttributeRoutes(); 

      // Other Web API configuration not shown. 
     } 
    } 
} 

und unter der Annahme, dass die Strecke gegeben Sie die Fehlermeldung erhalten auf

http://localhost:23995/Product/Insert 

Ihr Produkt Controller sollte in etwa so aussehen.

[RoutePrefix("product")] 
public class ProductController : ApiController { 
    // ... other code removed for brevity 

    // Insert 
    // eg: POST /product/insert 
    [HttpPost] 
    [Route("insert")] 
    public string Insert([FromBody] Product newProd) {...} 
} 

und Ihren Lieferanten Controller würde sehr ähnlich aussehen

[RoutePrefix("supplier")] 
public class SupplierController : ApiController { 
    // ... other code removed for brevity 

    // Insert 
    // eg: POST /supplier/insert 
    [HttpPost] 
    [Route("insert")] 
    public string Insert([FromBody] Product newProd) {...} 
} 

Sie ruft JavaScript dann in der Lage sein sollte, die gewünschten Methoden ordnungsgemäß zu nennen

0

Haben Sie einen Controller namens "ProductController" mit einer Methode namens Insert?

Sieht aus als wäre das alles, was für Sie fehlt.

+0

Danke für die Antwort, Ja Ich habe ProductController und es hat Methoden. Ich habe zwei Controller Product und SupplierController mein Problem ist aufgrund // Insert [Httppost] [Weg ("{Controller}/Insert")] public string Insert ([FromBody] Produkt newprod) { newProd.Insert(); Rückgabe newProd.DbResponse; } – user3634908