【问题标题】:convert IList object to List将 IList 对象转换为 List
【发布时间】:2020-04-14 17:14:59
【问题描述】:
    [System.Web.Http.HttpGet]
    [System.Web.Http.Route("acDetails")]
    [ResponseType(typeof(List<AutoCompleteCombine>))]
    public IHttpActionResult acDetails(string Text)
    {
                    var db = new ModelName();
                    var DetailsList = (IList)null;
                    try
                    {
                        var DetailsIListXX = (from a in db.Tablename
                                          where a.ColumnName.StartsWith(Text)
                                          select a.ColumnName).Distinct().ToList();
                        DetailsList = DetailsIListXX.Select(x => new { ColumnNameChange= x }).ToArray();
                    }
                    catch (Exception ex)
                    {

                    }
                    return Ok(DetailsList);
     }

//properties
    public class AutoCompleteCombine
    {
        public string ColumnNameChange { get; set; }

    }

以上代码适用于“application/json”和“text/json”响应类型,并在 swagger 中为 application/xml 和 text/xml 响应获取错误。

异常消息:“ObjectContent`1”类型无法序列化内容类型“application/xml;”的响应正文;字符集=utf-8'

使用 AutoCompleteCombine 类属性将响应转换为 List 将修复我认为的错误。

在此对象类型案例中将 ilist 转换为 List 的任何建议

谢谢

【问题讨论】:

  • 响应是否给出 200 OK?如果您得到 200,则响应的数据不是 xml,或者您必须删除一个标头。 XML 应该以 开头。如果您没有获得 200 OK,则说明请求有问题。发布错误。
  • 200 ok 对于 application/json 和 text/json 响应类型....和错误 application/xml 和 text/xml 响应....以及 XML 响应类型的异常消息:' ObjectContent`1' 类型无法序列化内容类型 'application/xml; 的响应正文; charset=utf-8'-@jdweng​​span>
  • 忽略 Xml 错误,直到您在响应中获得有效的 200 OK。首先,我们必须了解 XML 请求失败的原因。您有工作 XML 请求的示例吗?你得到什么错误而不是 200 OK。是 500 还是别的什么。

标签: c# list asp.net-web-api swagger application-xml


【解决方案1】:

你在用这条线做什么:

DetailsList = DetailsIListXX.Select(x => new { ColumnNameChange= x }).ToArray()

正在创建匿名类型的Array(参见new { ColumnNameChange...}),但您需要返回List&lt;AutoCompleteCombine&gt;

DetailsIListXX.Select(x => new AutoCompleteCombine { ColumnNameChange = x }).ToList();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多