2017-05-03 72 views
2

我有一个全新的.NET Core Web API应用程序,我正在开发。我生成了一个新的控制器,它将Route属性添加到控制器,所以HTTP方法是参数。我想改变它,所以ActionName是路由的一部分,但是在这个动作上放置一个Route属性似乎并不奏效。所以我的控制器设置这样目前:.Net核心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

可悲的是, :(你也错过了[Route(“/ GetSpells”)]右边的方括号,但这不是我的问题 –