【发布时间】:2023-04-01 16:07:02
【问题描述】:
我正在编写两个 api,即 Api 1 和 Api 2。我的 api 1 中有一个“动态”类型的对象。我正在尝试将此对象发送到 api 2。 这是我的代码
public IActionResult processPensionInput([FromBody]dynamic inputFromPensionerBody)
{
using(var askPensionDisbursement = new HttpClient())
{
var jsonstring = JsonConvert.SerializeObject(inputFromPensionerBody);
askPensionDisbursement.BaseAddress = new Uri("http://localhost:51549/api/PensionDisbursements/");
var responseTalk = askPensionDisbursement.GetAsync("calculate?inputFromPensioner="+ jsonstring);
responseTalk.Wait();
return Ok(responseTalk.Result);
int code = (int)responseTalk.Result.StatusCode;
if(code==10)
{
var readTask = responseTalk.Result.Content.ReadAsStringAsync();
return Ok("Okay");
}
return Ok("Not okay");
}
}
另一个api的代码是
public IActionResult calculatefromdetails(dynamic inputFromPensioner/*,dynamic serviceCharge*/)
{
StatusCodeResult flag = new StatusCodeResult(21);
using (var response = new HttpClient())
{
//some loooong code here...
}
return new StatusCodeResult(10);
}
但是问题出现在第一个 api 本身,在 postman 中,输出是 415 media type not found。 如何将对象从一个 api 发送到另一个。
【问题讨论】:
-
恕我直言,用户的权限越少,他选择动态数据的频率越高。
-
您不能将 json 字符串传递给 HttpClient.GetAsync。您必须传递一个 uri,可能带有查询参数
?x=1&y=2。