2016-07-25 1 views
0

Ich bin sehr verwirrt. Ich benutze ASP.NET WebApi 2 als Rest API und AngularJS für das SPA. Meine Anwendung verwendet 4 Ruheanforderungen. aber nur einer funktioniert nicht und ich weiß nicht warum.Fehlermeldung: "Es wurde keine HTTP-Ressource gefunden, die mit der Anforderungs-URI übereinstimmt" in WebAPI und AngularJS

Ich habe den Prozess wie folgt definiert:

Client-side:

//Controller 
CrudService.getRepo(selFrom, selTo).$promise.then(
    function (response) { 
     ... 
    }, 
    function (err) { 
     $log.error('Mth: ', err); 
    }); 

//CrudService 
function getRepo(selFrom, selTo) { 
    return ResService.ds022.query(
     { 
     from: selFrom, 
     to: selTo 
     } 
    ); 
} 

//ResService: 
function ResService($resource, baseUrl) { 
    return { 
     ds022: $resource(baseUrl + '/api/qr_ds022/mth_test', { 
      from: '@from', 
      to: '@to' 
     }, {}) 
    } 
} 

Und auf der anderen Seite: Server-Seite (WebAPI)

[RoutePrefix("api/qr_ds022")] 
public class QR_DS022Controller : ApiController 
{ 
    private TestContext db = new TestContext(); 

    [HttpGet] 
    [Route("mth_test")] 
    public IQueryable<getRep_Result> getRepos(DateTime from, DateTime to) 
    { 
     var results = db.getRep(from, to).AsQueryable(); 
     return results; 
    } 
} 

Datenbankmodell wurde mit Entity Framework 6 erstellt. Ich habe keine Ahnung, wo das Problem liegt. Wie Sie sehen können, wurde die Route korrekt definiert.

Antwort

1

Karte Route einen Ort mit Funktionsparameter, versuchen auf diese Weise

public class QR_DS022Controller : ApiController 
{ 
    private TestContext db = new TestContext(); 

    [HttpGet] 
    [Route("api/qr_ds022/mth_test/{from}/{to}")] 
    public IQueryable<getRep_Result> getRepos(DateTime from, DateTime to) 
    { 
     var results = db.getRep(from, to).AsQueryable(); 
     return results; 
    } 
} 
+0

es funktioniert nicht. In meinen anderen Anfragen benötige ich auch nicht die Parameter in der Routenadresse! – yuro

Verwandte Themen