繁体   English   中英

为什么Swagger / Swashbuckle破坏了我的路线?

[英]Why is Swagger/Swashbuckle mangling my routes?

我有一个具有以下方法的控制器:

[System.Web.Mvc.HttpGet]
[System.Web.Mvc.Route("api/v1.0/foo/{id}")]
[ResponseType(typeof(MyObject))]
public IHttpActionResult Get(int id)

[System.Web.Mvc.HttpGet]
[System.Web.Mvc.Route("api/v1.0/foo/{id}/address")]
[ResponseType(typeof(MyObject))]
public IHttpActionResult Get(int id)

如果我删除第二种方法,则控制器将在Swagger中呈现良好。 但是,如果包含它,则路由将如下所示:

GET /api/Foo
GET /api/Foo/{id}

怎么回事,如何解决?

原来是我使用的属性引起的。 (复制粘贴再次出现。)

这些是正确的:

[System.Web.Mvc.HttpGet]
[System.Web.Mvc.Route("api/v1.0/foo/{id}")]

相反,这些正确的:

[System.Web.Http.HttpGet]
[System.Web.Http.Route("api/v1.0/foo/{id}")]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM