C# 使用API.NET内核中的API
我用ASP.NET内核制作了一些API。C# 使用API.NET内核中的API,c#,.net,api,asp.net-core,C#,.net,Api,Asp.net Core,我用ASP.NET内核制作了一些API。 然后其中一个API需要访问第三方API。我该怎么做? 比如说,第三方API提供JSON格式,上面有3个参数(姓名、地址、电话)。第三方API将插入到表中。 我的API将向第三方API发送JSON格式。我如何从我的API中使用它? 下面是我的一个API代码: 控制器: [HttpPost] public async Task<IActionResult> InsertUpdate(Devloperr model) {
然后其中一个API需要访问第三方API。我该怎么做?
比如说,第三方API提供JSON格式,上面有3个参数(姓名、地址、电话)。第三方API将插入到表中。 我的API将向第三方API发送JSON格式。我如何从我的API中使用它?
下面是我的一个API代码:
控制器:
[HttpPost]
public async Task<IActionResult> InsertUpdate(Devloperr model)
{
try
{
var result = await repo.InsertUpdate(model);
if (result > 0)
{
return Ok("Data has been saved");
}
return Ok("Data not saved");
}
catch (Exception e) { return StatusCode(500, e.Message); }
}
[HttpPost]
公共异步任务插入更新(Devloperr模型)
{
尝试
{
var结果=等待回购插入更新(模型);
如果(结果>0)
{
返回Ok(“数据已保存”);
}
返回Ok(“数据未保存”);
}
catch(异常e){返回状态码(500,e.Message);}
}
存储库:public async Task<int> InsertUpdate(Devloperr model)
{
mySqlConnection.Open();
var cmd = mySqlConnection.CreateCommand();
cmd.CommandText = @"SELECT `ID` FROM `Table1` WHERE `ID` =@ID";
var data = await mySqlConnection.QueryAsync<Devloperr>(cmd.CommandText, param: new { ID = model.ID } );
if (data.Count() == 1)
{
cmd.CommandText = @"UPDATE `Table1` SET `ID` = @ID, `NAMA` = @NAMA, `USERNAME` = @USERNAME WHERE `ID`=@ID ;";
parameters.AddDynamicParams(model);
var result = await mySqlConnection.ExecuteAsync(cmd.CommandText, parameters, commandType: sql);
return result;
}
else
{
cmd.CommandText = @"INSERT INTO `Table1`(`ID`,`NAMA`,`USERNAME`) VALUES (@ID, @NAMA, @USERNAME);";
parameters.AddDynamicParams(model);
var result = await mySqlConnection.ExecuteAsync(cmd.CommandText, parameters, commandType: sql);
return result;
}
}
公共异步任务插入更新(Devloperr模型)
{
mySqlConnection.Open();
var cmd=mySqlConnection.CreateCommand();
cmd.CommandText=@“从`Table1`中选择`ID`,其中`ID`=@ID';
var data=await mySqlConnection.QueryAsync(cmd.CommandText,param:new{ID=model.ID});
if(data.Count()==1)
{
cmd.CommandText=@“更新`Table1`SET`ID`=@ID,`NAMA`=@NAMA,`USERNAME`=@USERNAME其中`ID`=@ID;”;
参数。AddDynamicParams(模型);
var result=await mySqlConnection.ExecuteAsync(cmd.CommandText,参数,commandType:sql);
返回结果;
}
其他的
{
cmd.CommandText=@“插入到`Table1`(`ID`、`NAMA`、`USERNAME`)值(@ID、@NAMA、@USERNAME);”;
参数。AddDynamicParams(模型);
var result=await mySqlConnection.ExecuteAsync(cmd.CommandText,参数,commandType:sql);
返回结果;
}
}
请告知。多谢各位
我的API将向第三方API发送JSON格式。我如何从我的API中使用它
您可以注册一个IHttpClientFactory
并将其用于Web API项目,然后向该第三方API发出HTTP请求
调用AddHttpClient
注册IHttpClientFactory
从API操作发出HTTP请求
您可以参考此文档向该第三方API发出包含预期数据的HTTP请求:我今天刚刚回答了一个非常重要的问题。
public void ConfigureServices(IServiceCollection services)
{
//...
services.AddHttpClient();
// ...
// Remaining code deleted for brevity.
}
var client = _clientFactory.CreateClient();
//client.DefaultRequestHeaders.Add("Authorization", $"bearer {your_token_here}");
var mdata = new { Name = "test", Address = "xxx", Phone = "123456789" };
var content = new StringContent(System.Text.Json.JsonSerializer.Serialize(mdata), System.Text.Encoding.UTF8, "application/json");
var response = await client.PostAsync("https://xxxX/api/XXX", content);
if (response.IsSuccessStatusCode)
{
//...
}