Документация по API веб-API С# IHttpActionResult
У меня есть веб-API С#, и я пытаюсь получить автоматически созданную справочную документацию для работы с IHttpActionResult. Я разделил нижеприведенный пример, поэтому его немного легче читать.
Для объекта ниже приведен простой пример. BusinessObject - это просто оболочка. База CollectionBase CollectionBase : ObservableCollection<T>, ILoadable where T : BusinessObject
. Его более ранняя база кода, которая автоматически генерируется, но повторно использует ее для этого.
public class Value : BusinessObject
{
public int Id { get; set; }
}
public class Values : CollectionBase<Value>
{
public override Value LoadObject(System.Data.IDataRecord record)
{
return new Value();
}
}
Для стороны API. Следующие работы.
public class Values : ApiController
{
public IEnumerable<Value> GetThis()
{
Values values = new Values();
return values;
}
}
![enter image description here]()
Проблема возникает, когда я пытаюсь сделать
public IHttpActionResult GetThis()
{
Values values = new Values();
return Ok(values);
}
Он не признает, что он должен использовать другой тип возвращаемого значения. "Описание ресурса" заканчивается тем, что IHttpActionResult без выходных данных. Теперь я могу добавить
config.SetActualResponseType(typeof(IEnumerable<Value>), "Values", "GetThis");
и он отобразит образец вывода, но "Описание ресурсов" все равно будет IHttpActionResult. Это главная проблема, которую я испытываю. Я хотел бы использовать IHttpActionResult, потому что он очень прост в использовании и может очень быстро возвращать коды ошибок. Я просто хотел бы иметь возможность автоматически создавать документацию.
ОБНОВЛЕНИЕ: после некоторых дальнейших исследований я отлично справился с этой записью.
Описание ресурса на странице справки веб-API показывает "Нет" и"
Базиально, вы добавляете атрибут типа ответа к методу.
[ResponseType(typeof(IEnumerable<Value>))]
public IHttpActionResult GetThis()
{
Values values = new Values();
return Ok(values);
}
Хотя это технически работает, и я изменил свой существующий код, чтобы использовать его. Было бы неплохо, если бы у него была возможность автоматически это понять. Не уверен, возможно ли это или нет.
Ответы
Ответ 1
Это работает для того, что я делаю. Его немного утомительно, чтобы включать каждый раз, но он позволяет мне при необходимости возвращать коды ошибок и сохранять функциональные возможности справочной документации.
[ResponseType(typeof(IEnumerable<Value>))]
public IHttpActionResult GetThis()
{
Values values = new Values();
return Ok(values);
}
Описание ресурса на странице справки веб-API показывает "Нет" и"