在 asp.net 核心中的 POST 请求中获取数据
Fetch data in a POST Request in asp.net core
我正在使用外部网络 link 获取数据并将其提取到 json 我需要由控制器处理它的原因是过滤它的数据。可悲的是,api link 在编程上是不正确的,因为它没有以 GET 方法请求它,而是被编程为 POST 方法。我在下面有这个简单的代码,但是 return 是一个 header 数据而不是 api.
的实际数据
[HttpPost, Route("get/subproject")]
public ActionResult subproject()
{
using (var client = new HttpClient())
{
client.BaseAddress = new Uri(@"https://thisisjustasample.com/");
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
HttpResponseMessage hrm = client.PostAsync("/api/new/get/subproject/details/get_dto", null).Result;
return Ok(hrm);
}
}
上面代码的输出是这样的。
{
"version": "1.1",
"content": {
"headers": [
{
"key": "Content-Length",
"value": [
"29942142"
]
},
{
"key": "Content-Type",
"value": [
"application/json; charset=utf-8"
]
},
{
"key": "Expires",
"value": [
"-1"
]
}
]
}
}
我需要的是下面这个数据。
{
"sub_project_id": 267892,
"engineeringMigrationId": 0,
"modality_id": 21,
"id": null,
"reportID": null,
"month": null,
"year": null,
"cycle_id": 204
}
如有任何帮助,我们将不胜感激。提前致谢。
不要直接return hrm
,如果要获取响应数据,需要return.
hrm.Content.ReadAsStringAsync().Result
演示
1.return 好的(hrm);
2.return 好的(hrm.Content.ReadAsStringAsync().Result);
我正在使用外部网络 link 获取数据并将其提取到 json 我需要由控制器处理它的原因是过滤它的数据。可悲的是,api link 在编程上是不正确的,因为它没有以 GET 方法请求它,而是被编程为 POST 方法。我在下面有这个简单的代码,但是 return 是一个 header 数据而不是 api.
的实际数据[HttpPost, Route("get/subproject")]
public ActionResult subproject()
{
using (var client = new HttpClient())
{
client.BaseAddress = new Uri(@"https://thisisjustasample.com/");
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
HttpResponseMessage hrm = client.PostAsync("/api/new/get/subproject/details/get_dto", null).Result;
return Ok(hrm);
}
}
上面代码的输出是这样的。
{
"version": "1.1",
"content": {
"headers": [
{
"key": "Content-Length",
"value": [
"29942142"
]
},
{
"key": "Content-Type",
"value": [
"application/json; charset=utf-8"
]
},
{
"key": "Expires",
"value": [
"-1"
]
}
]
}
}
我需要的是下面这个数据。
{
"sub_project_id": 267892,
"engineeringMigrationId": 0,
"modality_id": 21,
"id": null,
"reportID": null,
"month": null,
"year": null,
"cycle_id": 204
}
如有任何帮助,我们将不胜感激。提前致谢。
不要直接return hrm
,如果要获取响应数据,需要return.
hrm.Content.ReadAsStringAsync().Result
演示
1.return 好的(hrm);
2.return 好的(hrm.Content.ReadAsStringAsync().Result);