ApiController没有显示动作

时间:2018-01-31 20:01:01

标签: c# asp.net-web-api2

我有一个API控制器,我会对一些POST和GET操作进行编码,但我不知道为什么他们没有出现在Swagger / Help上..我无法使用它们。

public class ApoliceController : ApiController
{
    private GV db = new GV();

    [HttpGet]
    public IHttpActionResult ListStatus()
    {
        Ok(db.EthereumStatus.ToList());
    }

    [HttpGet]
    public IHttpActionResult ListApolices()
    {
        Ok(db.ApoliceEthereum.ToList());
    }
}

我的路线没有定制:

config.Routes.MapHttpRoute(
                name: "DefaultApi",
                routeTemplate: "api/{controller}/{id}",
                defaults: new { id = RouteParameter.Optional }
            );

有人可以帮忙吗?

此致

1 个答案:

答案 0 :(得分:0)

这些方法路由到相同的端点url api / apolice没有任何意义

改为使用不同的路线

[RoutePrefix("api/apolice")]
public class ApoliceController : ApiController
{
    private GV db = new GV();

    [HttpGet]
    [Route("statuses")] //route will be api/apolice/status
    public void ListStatus()
    {
        Ok(db.EthereumStatus.ToList());
    }

    [HttpGet]
    [Route("")] //route will be api/apolice
    public void ListApolices()
    {
        Ok(db.ApoliceEthereum.ToList());
    }
}