gpt4 book ai didi

c# - 从 Web API 帮助页面中排除媒体类型示例

转载 作者:IT王子 更新时间:2023-10-29 04:14:08 28 4
gpt4 key购买 nike

我是 Web API 使用方面的新手,我一直在努力解决我找不到解决方案的问题。常见的问题是,当人们得到 application/x-www-form-urlencoded 媒体类型样本而不是

Failed to generate the sample for media type 'application/x-www-form-urlencoded'. Cannot use formatter 'FormUrlEncodedMediaTypeFormatterTracer' to write type 'Task'.

常见的建议是在配置​​文件中指定自己的样本,但我想知道,我可以删除这个媒体类型帮助部分吗?

config.SetSampleForType("", new MediaTypeHeaderValue("application/x-www-form-urlencoded"), typeof(object));

给我一​​个空白部分。

提前致谢!

最佳答案

  • 请问您为什么要删除此部分?就像您不想在您的服务中支持 formurlencoded 格式化程序一样?如果是,那么您可以从格式化程序集合中删除格式化程序本身,在这种情况下,该部分将不会显示。

    config.Formatters.Clear();
    config.Formatters.Add(new JsonMediaTypeFormatter());
    config.Formatters.Add(new XmlMediaTypeFormatter());
  • 或者,您可以在 Areas\HelpPage\SampleGeneration\HelpPageSampleGenerator.cs 文件中进行以下更改(突出显示的注释)并执行以下操作,以过滤掉格式化程序:

        // Do the sample generation based on formatters only if an action doesn't return an HttpResponseMessage.
    // Here we cannot rely on formatters because we don't know what's in the HttpResponseMessage, it might not even use formatters.
    if (type != null && !typeof(HttpResponseMessage).IsAssignableFrom(type))
    {
    object sampleObject = GetSampleObject(type);

    // Change Begin --------------------------------------
    IEnumerable<MediaTypeFormatter> filteredFormatters = formatters.Where(frmtr => frmtr.GetType() != typeof(JQueryMvcFormUrlEncodedFormatter));

    foreach (var formatter in filteredFormatters)
    {

    // Change End --------------------------------------

关于c# - 从 Web API 帮助页面中排除媒体类型示例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18249344/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com