Как я могу получить справочную документацию для работы в WebApi2 при использовании IHttpActionResult?

Я хочу воспользоваться функциями автоматической документации WebApi2, а также IHttpActionResult. Поэтому я хотел бы изменить следующий фрагмент кода:

/// <summary>
/// Gets specified User 
/// </summary>
/// <param name="id">User Id</param>
/// <returns>The user</returns>
public UserModel Get(int id)
{
    UserModel result = new UserModel()
    {
        ErrorLevel = "Warning",
        ErrorMessage = "Not Implemented yet!"
    };
    User u = new User() { Id = 1, ADUserName = "nfindlater", DefaultRoutingGroupId = 1 };
    result.Data = u;

    var helper = new UrlHelper(Request);
    result.Url = helper.Link("User", new { userId = 1 });

    return result;
}

Для

    /// <summary>
    /// Gets specified User 
    /// </summary>
    /// <param name="id">User Id</param>
    /// <returns>The user</returns>
    public IHttpActionResult Get(int id)
    {
        UserModel result = new UserModel()
        {
            ErrorLevel = "Warning",
            ErrorMessage = "Not Implemented yet!"
        };
        User u = new User() { Id = 1, ADUserName = "nfindlater", DefaultRoutingGroupId = 1 };
        result.Data = u;

        var helper = new UrlHelper(Request);
        result.Url = helper.Link("User", new { userId = 1 });

        return Ok<UserModel>(result);
    }

Но когда я это делаю, я теряю часть автоматически созданной документации api в /Help/Api/GET -2013-12-05-user-id.

Вот часть потерянной документации:

Форматы тела ответа

      application/json, text/json                   <Б > Пример:

{ строка "url": "образец 1", "данные": {    "id": 1,    "adUserName": "строка выборки 2",    "имя": "строка выборки 3",    "defaultRoutingGroupId": 4 }, "errorLevel": "строка выборки 2", "строка ошибки": "строка выборки 3" }

Ответы

Ответ 1

Вы можете украсить действие атрибутом ResponseType, и HelpPage подберет его для создания образца...

Пример: [ResponseType (typeof (UserModel)]