В описании ресурса на странице справки веб-API указано «Нет».

У меня возникли проблемы с выяснением того, как заставить страницу справки в моем веб-API отображать что-либо для описания ресурса, кроме None. Он связан с IHttpActionResult, а затем «Нет». после того. Мои образцы заработали, добавив config.SetActualResponseType(typeof(ComplexType), "Controller", "Action"); в HelpPageConfig.cs. Мой контроллер выглядит так:

/// <summary>
/// My description
/// </summary>
[Route("MyRoute")]
public IHttpActionResult Get()
{
    try
    {
        //throw new Exception("TEST");
        return Ok(returnValue);
    }
    catch (Exception ex)
    {
        *Company Log Method*
        return NotFound();
    }
}

Я не знаю, чего мне не хватает в HelpPageConfig.cs или где-то еще. Может быть, свежий взгляд сможет что-то уловить. Заранее спасибо за помощь!


person dkiefer    schedule 03.11.2014    source источник


Ответы (2)


Мне просто нужно было добавить [ResponseType(typeof(MyModel))] над моим действием после включения using System.Web.Http.Description; в верхней части моего контроллера. Теперь я получаю описание своей модели вместо IHttpActionResult и «Нет».

person dkiefer    schedule 04.11.2014

(Вероятно, это должен быть комментарий, но у меня пока недостаточно представителей)

Я бы начал с разрыва, указывающего на различные точки в Areas\HelpPage - например. XmlDocumentationProvider — чтобы узнать, дает ли это какие-либо подсказки. У меня ничего не вылетает.

Возможно, вы изменили место вывода XML-файла справки и не обновили путь к документу, переданный XmlDocumentationProvider? Путь задается через страницу «Свойства» — «Выходной файл XML-документации».

person Stuart Moore    schedule 04.11.2014
comment
Хороший совет по установке точек останова, хотя я понятия не имею, где их установить. Что касается файла XML, пути в HelpPageConfig.cs и в свойствах совпадают, и я включил его в проект, так что это не так. - person dkiefer; 04.11.2014