Web Api 2: "Образец недоступен"

Я пытаюсь автоматически генерировать документы справки для моего веб-Api.

Однако я вижу на одном конкретном методе образец запроса не может быть сгенерирован, как показано на рисунке:

Ниже приведены параметры запроса аргументов:

Почему он не может создать образец запроса?

3 ответа

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

[ResponseType(typeof(Model))]
public async Task<ihttpactionresult> Get(int key)
{ var entity = await dbContext.Models.FindAsync(key); if (entity == null) { return NotFound(); } return Ok(entity);
}
</ihttpactionresult>


Убедитесь, что у создаваемых объектов есть пустой конструктор. Объекты без пустого конструктора не могут быть автоматически созданы на странице справки веб-API. Если создание пустого конструктора не является вариантом, вы можете "вручную" создать их с помощью config.SetSampleObjects


Для тех, кому интересно, какой из этих ответов между @chris и @wade-wright правильный.

Ответ - ОБА. Оба они требуются. Например, если вы делаете виртуальную машину для консолидации содержимого, возвращаемого вашим API, к необходимым данным, которые вы бы хотели сделать, например:

[ResponseType(typeof(YourVM))]

поверх действия вашего контроллера

и пустой конструктор в вашей виртуальной машине:

public class YourVM { public YourVM() { } }

licensed under cc by-sa 3.0 with attribution.