WebApi文档无法识别端点

本文关键字:识别 端点 文档 WebApi | 更新日期: 2023-09-27 18:08:51

我有多个控制器端点,它们的路由是这样的:

[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]}

如何让帮助页文档流程识别我的端点?

WebApi文档无法识别端点

您需要像这样更新HelpPageConfigconfig.SetActualResponseType(typeof(ObjectType), "Object", "MethodName");

使用这个可以在web api中为相应的URL启用帮助