【发布时间】:2020-05-15 03:53:21
【问题描述】:
我正在尝试将多个数组从一个项目传递到 c# 中的另一个 api 项目。
这是我调用项目的方法 -
public DataTable GetDataTableForDocument(string ListType, string TableName, string[] DataColumn, string[] DataParam, string[] RequiredColumn)
{
DataTable lstTable = new DataTable();
var baseAddress = "Base";
using (HttpClient client = LocalUtility.InitializeHttpClient(baseAddress))
{
HttpResponseMessage response = client.GetAsync(baseAddress + "/GetDataTableForDocument?ListType=" + ListType + "&TableName=" + TableName + "&DataColumn=" + DataColumn + "&DataParam=" + DataParam + "&RequiredColumn=" + RequiredColumn).Result;
if (response.IsSuccessStatusCode)
{
var data = response.Content.ReadAsStringAsync().Result;
lstTable = JsonConvert.DeserializeObject<DataTable>(data);
}
}
return lstTable;
}
这是我的api项目方法-
[HttpGet]
[Route("api/Base/GetDataTableForDocument")]
public IHttpActionResult GetDataTableForDocument(string ListType, string TableName, string[] DataColumn, string[] DataParam, string[] RequiredColumn)
{
return Ok(_repository.GetDataTableForDocument(ListType, TableName, DataColumn, DataParam, RequiredColumn));
}
我收到错误 500。此代码导致的内部服务器错误。 这是为获取请求制作的网址 - http://localhost:60021/api/Base/GetDataTableForDocument?ListType=Distinct&TableName=PurchaseRequest&DataColumn=System.String[]&DataParam=System.String[]&RequiredColumn=System.String[]
是否可以将这些数组作为参数?如果是,如何?如果不是,为什么?另外我不想创建一个类并传递它的对象。 我已经在互联网上搜索了一段时间,但没有任何相关信息出现。
【问题讨论】:
-
您不想实例化一个对象?或者你不想要一个静态类?您应该添加一些详细信息,说明您的问题到底是什么,以及您尝试了什么。否则,这感觉就像一个不完整的问题,你不会(可能)得到很好的答案。
-
感谢@AustinTFrench。我不想在 api 中传递对象。我的问题是我的 API 给出了内部服务器错误的响应。
标签: c# api asp.net-web-api get