提问者:小点点

如何将datatable从。NET Core5.0web api作为JSON传递到angular前端?


我以前的。NET Core2 web api项目使用newtonsoft将datatable序列化到json,然后我将其作为json ie传递回前端(angular)站点,使用如下内容:

  1. 创建函数iepublic IActionResult Countries_Get(),查询sql server数据库并填充新的sql datatable iedatatable dtCountries=clsdb.execute_to_DataTable(“selCountries”,lstDBParams,Request);
  2. 使用HTTPStatusCode(如Ok)从函数返回datatable ie返回Ok(dtCountries);

上面的代码不再适用于。NET 5.0项目(新启动),错误为System.NotSupportedException:不支持“System.Type”实例的序列化和反序列化,应该避免,因为它们可能导致安全问题。路径:$.columns.datatype.

我读到这是微软设计的,因为使用新的System.text.json命名空间是不安全的,所以我真的想用正确的方式来实现它,但是经过几个小时的搜索还是没有找到答案。

有人可以请建议如何做上述做相同的事情,原来的应用程序。

干杯


共1个答案

匿名用户

您似乎希望直接返回一个DataTable作为结果。的确,这会导致安全问题。

你试过做一个中间映射吗?

将DataTable属性放入一个新类中,然后返回这个新类作为结果。