我们有一个(asp .net)网络api,我们正在使用swagger来获取在线文档。
由于我们希望每个控制器上都有多个HttpGet方法,并且将“ Get”方法作为默认值(“ /”),因此我们将路由重写为
config.Routes.MapHttpRoute("DefaultApiWithAction", "{controller}/{action}");
config.Routes.MapHttpRoute("DefaultApiGet", "{controller}", new { action = "Get" }, new { httpMethod = new HttpMethodConstraint(HttpMethod.Get) });
这很好用,但是如果我有一个像这样的控制器
public class OrdersController : ApiController
{
public Order Get(string orderId)
{
...
}
}
我们正在运行以下配置代码:
[assembly: PreApplicationStartMethod(typeof(SwaggerConfig), "Register")]
namespace OurProject.Api
{
public class SwaggerConfig
{
public static void Register()
{
var thisAssembly = typeof(SwaggerConfig).Assembly;
GlobalConfiguration.Configuration
.EnableSwagger(c => c.SingleApiVersion("V3", "OurProject.Api"))
.EnableSwaggerUi();
}
}
}
无论如何,有没有办法调整路由或摇动以将其显示为一种单一方法(最好是上图中的“ / Orders”)