C# 使用API.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) {

我用ASP.NET内核制作了一些API。
然后其中一个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)
{
    //...
}