Ответ 1
Нет, аналогичного варианта для свойства нет. HelpPage использует экземпляры форматирования, сконфигурированные в приложении для сериализации образцов, и, как вы можете себе представить, форматы не должны обладать этими знаниями внутри себя.
Относительно обходных решений:
а. Вы можете явно задать необработанный образец для конкретного запроса запроса через расширение SetSampleRequest для HttpRequestMessage. Вы должны увидеть некоторые примеры этого в файле на * Areas\HelpPage\App_Start\HelpPageConfig.cs *.
б. В файле Areas\HelpPage\SampleGeneration\HelpPageSampleGenerator.cs существует метод WriteSampleObjectUsingFormatter, который использует экземпляры форматирования приложения для записи образцов. Здесь вам нужно будет создать новые экземпляры форматирования, имеющие аналогичные настройки, как и ваше обычное приложение (чтобы они отображали точную семантику сериализации/десериализации, на которую обычно реагирует ваше приложение при выполнении реальных запросов), а затем попробуйте скрыть свойства, которые вы хотите. Мы хотим создать новые экземпляры, потому что мы не хотим нарушать нормальное функционирование приложения.
Пример. В случае Json вы можете создать новый экземпляр форматирования Json и предоставить ContractResolver, который может скрывать свойства. Проверьте эту ссылку: http://james.newtonking.com/projects/json/help/html/ConditionalProperties.htm
В случае Xml я не уверен, как мы можем скрыть свойства без использования атрибута IgnoreDataMember, а также быть неинтрузивным.
В настоящее время я предпочел бы вариант 'a' как сравнительно простой обходной путь, чем 'b'.