2017-05-03 18 views
2

私が取り組んでいる新しい.NET Core Web APIアプリケーションがあります。私はコントローラにRoute属性を追加した新しいコントローラを生成したので、HTTPメソッドがパラメータになります。私はそれを変更してActionNameがルートの一部になるようにしたいが、アクションにRoute属性を置くことは機能していないようだ。私はそれをこのようにやりたい.Net Core Web APIはコントローラの動作に経路を追加できません

[Produces("application/json")] 
[Route("api/Spells")] 
public class SpellsController : Controller 
{ 
    private readonly Spellbook3APIContext _context; 

    public SpellsController(Spellbook3APIContext context) 
    { 
     _context = context; 
    } 

    // GET: api/Spells 
    [HttpGet] 
    public IEnumerable<Spell> GetSpells() 
    { 
     return _context.Spells; 
    } 
} 

:だから私のコントローラは、現在、このように設定されて

[Produces("application/json")] 
public class SpellsController : Controller 
{ 
    private readonly Spellbook3APIContext _context; 

    public SpellsController(Spellbook3APIContext context) 
    { 
     _context = context; 
    } 

    // GET: api/Spells 
    [HttpGet] 
    [Route("api/Spells/GetSpells")] 
    public IEnumerable<Spell> GetSpells() 
    { 
     return _context.Spells; 
    } 
} 

しかし、私はそれが動作しない、ことを置くとき。私はちょうど404を取得します。私は間違って何をしていますか?

答えて

2
[HttpGet("GetSpells")] 
public IEnumerable<Spell> GetSpells() 
{ 
    return _context.Spells; 
} 
+0

これはまだ私にとって404ingです –

+0

はもっとコードを更新しましたが、これは機能しますか? ...クラスレベルのルートを追加しました –

+0

悲しいことに、 :(ルート( "/ GetSpells")]の右側に角括弧がないのですが、それは私の問題ではありませんでした。 –

関連する問題