当前位置: 首页 > 知识库问答 >
问题:

之后。NET Core 2.1到3.0升级,web api返回空对象

孙俊彦
2023-03-14

从. net core 2.1升级到3.0后,Web api返回空对象。API路由工作正常,我可以看到web尝试返回所有对象。但是在chrome的网络选项卡上,我只能看到响应的空数据对象(但对象的数量与Web尝试返回的内容相匹配)。

尝试查看MSDN中发布的迁移问题,但似乎没有一个适用于此场景

类似的回答建议使用DataContract/DataMember属性,但这没有帮助。

数据模型

public class FileDataModel
    {
        public double sNo;
        public DateTime createdDate;
        public string FileName;        

        public FileDataModel(DataRow data)
        {
            sNo = (data["Sno"] == DBNull.Value) ? -1 : (double)data["Sno"];
            createdDate = (DateTime)data["Date"];
            FileName = (string)data["FileName"];           
        }
    }

API控制器(. NET 4.7.2类库)

[Route("api/[controller]")]
    [ApiController]
    public class DataController : ControllerBase
    {

        static DataController()
        {            
        }

        // GET api/values
        [HttpGet]
        public ActionResult<IEnumerable<FileDataModel>> Get()
        {
            List<FileDataModel> data = FileData.getAllData();
            return data;
        }
    }

。NET核心项目- Startup.cs

services.AddMvc().AddApplicationPart(Assembly.Load("WebApi")).AddControllersAsServices();

预期结果是所有FileDataModel对象都接收到完整数据,但我收到的是

[{},{},{},{},{},{},{},{},{},{},{}]

共有1个答案

柯梓
2023-03-14

问题是FileDataModel没有将变量公开为公共属性。一旦我改变了它,它就开始工作了。

 类似资料:
  • 升级准备工作: pika在2.3.3版本时为了确保同步的可靠性,增加了server-id验证功能,因此pika2.3.3~pika2.3.6与pika2.3.3之前的版本无法互相同步 如果你的pika版本<2.3.3, 你需要准备pika2.3.6及pika3.0.16的bin文件,这里需要注意的是3.0.x需要准备3.0.16以后的版本(或者3.0.6版本),其他版本pika不再能与低版本(2.

  • 我最近更新了我的项目的gradle版本,从2.14.1到3.0。从那以后,gradle构建每次都失败,出现以下错误: 错误:原因:org.gradle.api.internal.tasks.defaultTaskinputs$TaskinputUnionFileCollection无法强制转换为org.gradle.api.internal.file.Collections.defaultConf

  • 备注:这个指南同样适用于从beta 3.0.0-9升级到3.0.1的用户。 介绍 3.0版本引入了大量的新特性,这些特性为我们带来了大量的重要革新性变化。让我们的network的管理更简单,新的抽象的合约层,允许你从第三方引入各种依赖文件。伴随以太坊的开发工具逐步成熟,我们认为这样的革新非常有价值。下面我们将一步步指引你来享受这些新特性带来的好处。 为了展示2.0到3.0版本的变化,后续会使用下面

  • 我有使用WebPack构建的Angular2应用程序。我将WebPack从v1.8升级到v2,一切似乎都很好。唯一的问题是旧代码有以下内容: 升级后,这给了我一个错误:

  • 我在OSX上从JDK 1.7->1.8升级时遇到了问题。升级已经完成,但是javac仍然返回1.7版本。 我已经从Oracle的主页下载了JDK8_U5,并运行了安装程序。 我还采取了以下步骤,安装后: 我浏览并删除了Java1.7(以及所有其他JDK版本),然后重新运行安装程序: 仍然没用,javac报告版本为1.7.0_21 在该路径中,是指向的符号链接。的内容是一系列文件(不是符号链接)。

  • 前言 SOFABoot 是蚂蚁金服开源的基于 Spring Boot 的研发框架,它在 Spring Boot 的基础上,提供了诸如 Readiness Check,类隔离,日志空间隔离等能力。在增强了 Spring Boot 的同时,SOFABoot 提供了让用户可以在 Spring Boot 中非常方便地使用 SOFA 中间件的能力。 自今年 4 月份 SOFABoot 开源至今,我们收到了非