问题描述
嗨,我是一名 Web Api 初学者,我正在尝试在 asp.net core 3.1 中的另一个 api 中调用一个 api。我创建了两个具有不同端口号的解决方案。从 httpclient 方法断点不会转到外部 api 方法。它返回响应为错误请求,请有人告诉我在这里做错了什么?
我尝试了你所有的 httpclient 方法,但我收到了同样的错误错误请求..让我解释一下我在尝试什么..
[HttpPost("api/Product/Check1st")]
public async Task Check([FromBody] CheckInput input)
{
var result = await _productqualityChecker.CheckQualityAsync(input);
return new JsonResult(result);
}
我会继续运行这个解决方案。此处的网址 api/Product/Check1st" 我将尝试在第二个解决方案中使用 httpclient 进行调用。因此,我不会在邮递员中提供此网址。
在我的第二个解决方案中,我有一个方法 [HttpPost("api/ProductQuality/Checkin2nd")]{}
这第二个网址我将给邮递员并获取输入(调用外部api的参数),然后它将调用httpclient,如下所示 在邮递员中,我向以下主体发出请求
`http://localhost:2000/api/ProductQuality/Checkin2nd`:
这是我传递给邮递员的正文/输入/参数
{
"productid": "2274","productcorenumber": "1321","value": "AE1C1F-0363-D6F-B3D-AE0029A8","contacts": [
15998,1012
],"ispassed": "0","isok": "0","isgood": "false"
}
[HttpPost("api/ProductQuality/Checkin2nd")]
public async Task Check([FromBody] CheckInput input)
{
var result = await _Checker.Checkercall(input);
}
在 Checkercall
实现中,我正在调用另一个 API(现在为了测试目的调用相同的 API)
public async Task Checkercall(CheckInput input)
{
QualityCheckResults QualityCheckInputResult = new QualityCheckResults();
using (var httpClient = new HttpClient())
{
var content = new StringContent(JsonConvert.SerializeObject(input),Encoding.UTF8,"application/json");
using (var response = await
httpClient.PostAsync("https://localhost:2001/api/ProductQuality/Check1st",content))
//hope i have to give https here
{
string apiResponse = await response.Content.ReadAsstringAsync();
QualityCheckInputResult = JsonConvert.DeserializeObject(apiResponse);
}
}
return QualityCheckInputResult;
}
这就是我想要做的。在 httpclient mtd CheckInput 是我创建的类。
QualityCheckResults QualityCheckInputResult = new QualityCheckResults(); 是响应类。所以我只能分配给这个对象..可能是这个问题吗?我不知道
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)