1

我有多个控制器端点,路由如下:

[Route("api/myobjects/action1/action2/{objectIds}")]

它们都有这样的方法签名(访问修饰符和返回类型被省略):

Post([ModelBinder(typeof(CommaDelimitedArrayModelBinder))] int[] objectIds)

自定义模型绑定器允许我像这样发布到端点:

../api/myobjects/action1/action2/1,2,3

这很好用!但是,帮助页面文档生成过程会忽略所有这些方法。

如果我像这样删除 modelbinder 属性:

Post(int[] objectIds)

它仍然不起作用。只有当我添加[FromUri]到参数并{objectIds}从路由属性中删除它才会起作用:

Post([FromUri] int[] objectIds)

但这会生成一个不需要的 uri,如下所示:

../api/myobjects/action1/action2?objectIds[0]={objectIds[0]}&objectIds[1]={objectIds[1]}

如何获取帮助页面文档流程以识别我的端点?

4

1 回答 1

0

您需要更新 HelpPageConfig 像 config.SetActualResponseType(typeof(ObjectType), "Object", "MethodName");

使用它,您可以在 web api 中启用相应 URL 的帮助

于 2015-08-25T13:22:16.577 回答