Httpclient Return BadRequest 始终无法理解问题

问题描述

嗨,我是一名 Web Api 初学者,我正在尝试在 asp.net core 3.1 中的另一个 api 中调用一个 api。我创建了两个具有不同端口号的解决方案。从 httpclient 方法断点不会转到外部 api 方法。它返回响应为错误请求,请有人告诉我在这里做错了什么?

我尝试了你所有的 httpclient 方法,但我收到了同样的错误错误请求..让我解释一下我在尝试什么..

在这里有 2 个具有不同端口号的解决方案..

在第一个解决方案中,我有一个方法

[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(); 是响应类。所以我只能分配给这个对象..可能是这个问题吗?我不知道

我的 2 个解决方调用有什么问题吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)