2017-06-07 2 views
0

ich Schwierigkeiten haben, ich meine mein Controller-Aktion bekommen, da dies derzeit die Standardroute für: (Ich bin eine typische Standard-Route-Konfiguration mit)Wie URL übereinstimmen Aktion an die Steuerung

routes.MapRoute(
    name: "default", 
    template: "{controller=Home}/{action=Index}/{id?}"); 

Warum doesn‘ Wird meine URL an diese Controller-Aktion weitergeleitet?

Mein Typoskript

let headers = new Headers(); 
    headers.append('Content-Type', 'application/json'); 

    let update = new CollectionUpdate(); 
    update.collectionID = Number(this.collectionID); 
    update.collectionName = "new name"; 

    let url = "/api/Collections/RenameCollection/"; 

    let json = JSON.stringify(update); 
    debugger; 
    return this.http 
     .patch(url, json, { headers: headers }) 
     .map(res => res.json()) 
     .subscribe(
     result => { 
      this.onRename(result as CollectionUpdate) 
     }); 

Mein Controller-Aktion

[HttpPatch] 
    public Task<CollectionUpdate> RenameCollection([FromBody]CollectionUpdate update) 
    { 
     return Task.FromResult<CollectionUpdate>(new CollectionUpdate()); 
    } 
+0

Wie lautet der Name des Controllers? – TomDoesCode

+0

CollectionsController. Ich bin in der Lage, zu diesem Controller mit den Parametern Setup anders (wie ein einziges int im Körper und PUT) zu routen, aber diese besondere Art funktioniert nicht. – Chris

+0

Auf welche URL versuchen Sie zuzugreifen? –

Antwort

0

es zu einer Put-Operation ändern gearbeitet. Ich denke, ich werde einfach damit spielen.

 [HttpPut("[action]")] 
    public Task<CollectionUpdate> RenameCollection([FromBody]CollectionUpdate update) 
Verwandte Themen