C#WebAPI帮助页面中的多个ResponseType -s

时间:2017-07-14 11:06:20

标签: c# asp.net-web-api2

考虑以下例子:

[ActionName("SomeTestAction")]
[ResponseType(typeof(SomeObject))]

public IHttpActionResult SomeTestAction(string id)
{

  SomeObject o = SomeMethod(id);

  if (o == null)
  {
      var message = string.Format("Nothing found for id = {0}", id);
      HttpError err = new HttpError(message);
      return Content(HttpStatusCode.NotFound, err);
  }
  else
  {
      return Content(HttpStatusCode.OK, o);
  }

}

例如,此方法可以基于数据库查询的结果具有两个不同的ResponseType。有没有办法在WebAPI的HelpPages中指定此行为,以便用户知道错误响应是什么样的?

1 个答案:

答案 0 :(得分:0)

here所述,根据我的经验,我认为这是不可能的,因为生成的文档是静态的。

您必须选择是要返回匿名对象(运行时解析的多种类型)还是显式具有返回类型并支持文档详细信息。