在 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);