I am not sure where the class RestClient
is coming from. You might be using an external library. It's very likely the BaseAddress you are using is incorrect. /api
doesn't fall into BaseAddress.
I just tested the function using HttpClient and it appears to be working fine.
class Program
{
static async Task Main(string[] args)
{
var accountRequest = new AccountRequest()
{
name = "Azure fun from plugin",
telephone1 = "9150871106",
accountnumber = "0987"
};
using var client = new HttpClient();
client.BaseAddress = new Uri("https://techxact.azurewebsites.net/");
var content = new StringContent(JsonConvert.SerializeObject(accountRequest), Encoding.UTF8, "application/json");
//// Passing API key as a query string
//HttpResponseMessage responseMessage = await client.PostAsync("api/Function2?code=ET4Kb0ksewZaB5RRMwrqrSrPQ3ym0SHBcVflUms1w34eEaLxcZ2QWg==", content);
// Passing API key in a HTTP Header, I would suggest this.
client.DefaultRequestHeaders.Add("x-functions-key", "ET4Kb0ksewZaB5RRMwrqrSrPQ3ym0SHBcVflUms1w34eEaLxcZ2QWg==");
HttpResponseMessage responseMessage = await client.PostAsync("api/Function2", content);
responseMessage.EnsureSuccessStatusCode();
Console.WriteLine(await responseMessage.Content.ReadAsStringAsync()); // This returns a GUID
}
}
public class AccountRequest
{
public string name { get; set; }
public string telephone1 { get; set; }
public string accountnumber { get; set; }
}