我有多个控制器端点,其路由如下:
[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]}
如何获取帮助页面文档流程以识别我的端点?
答案 0 :(得分:0)
您需要更新HelpPageConfig config.SetActualResponseType(typeof(ObjectType)," Object"," MethodName");
使用此功能,您可以在web api中为相应的URL启用帮助