C# RestSharp 格式 URL
C# RestSharp format URL
我正在使用电子签名 API (GetAccept)。我将 restsharp 用作 SDK,我的问题是我要发布到的端点如下所示:
https://api.getaccept.com/v1/documents/{DOCUMENT_ID}/send
从这里我想用另一个替换 'DOCUMENT_ID'(id 是一个字符串)。
我试过将其编码为 URI 但它不起作用,我也试过使用 client.BuildUri();我尝试使用 https://api.getaccept.com/v1/documents/{0}/send 然后为此使用 string.format。
public static void SendDocument()
{
Uri myUri = new Uri("https://api.getaccept.com/v1/documents/" + id + "/send");// does not work
Uri myUri = new Uri("https://api.getaccept.com/v1/documents/649r4tm3rz3/send");//works
var client = new RestClient(myUri);
var request = new RestRequest(Method.POST);
request.AddHeader("Authorization", "Bearer " + access_token);
IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content);
}
我正在寻找能够正确格式化我的 URI 的解决方案,因为我认为这是问题所在。提前致谢
这解决了我的问题。
string server = "https://api.getaccept.com";
string relativePath = "/v1/documents/"+id+"/send";
Uri serverUri = new Uri(server);
Uri relativeUri = new Uri(relativePath, UriKind.Relative);
Uri fullUri = new Uri(serverUri, relativeUri);
var client = new RestClient(fullUri);
var request = new RestRequest(Method.POST);
request.AddHeader("Authorization", "Bearer " + access_token);
IRestResponse response = client.Execute(request);
更好更简单的解决方案是这样的
Uri myUri = new Uri(string.format("https://api.getaccept.com/v1/documents/{0}/send",id));
根据 c# 的版本,您还可以使用
Uri myUsri = new Uri($"https://api.getaccept.com/v1/documents/{id}/send");
我正在使用电子签名 API (GetAccept)。我将 restsharp 用作 SDK,我的问题是我要发布到的端点如下所示:
https://api.getaccept.com/v1/documents/{DOCUMENT_ID}/send
从这里我想用另一个替换 'DOCUMENT_ID'(id 是一个字符串)。
我试过将其编码为 URI 但它不起作用,我也试过使用 client.BuildUri();我尝试使用 https://api.getaccept.com/v1/documents/{0}/send 然后为此使用 string.format。
public static void SendDocument()
{
Uri myUri = new Uri("https://api.getaccept.com/v1/documents/" + id + "/send");// does not work
Uri myUri = new Uri("https://api.getaccept.com/v1/documents/649r4tm3rz3/send");//works
var client = new RestClient(myUri);
var request = new RestRequest(Method.POST);
request.AddHeader("Authorization", "Bearer " + access_token);
IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content);
}
我正在寻找能够正确格式化我的 URI 的解决方案,因为我认为这是问题所在。提前致谢
这解决了我的问题。
string server = "https://api.getaccept.com";
string relativePath = "/v1/documents/"+id+"/send";
Uri serverUri = new Uri(server);
Uri relativeUri = new Uri(relativePath, UriKind.Relative);
Uri fullUri = new Uri(serverUri, relativeUri);
var client = new RestClient(fullUri);
var request = new RestRequest(Method.POST);
request.AddHeader("Authorization", "Bearer " + access_token);
IRestResponse response = client.Execute(request);
更好更简单的解决方案是这样的
Uri myUri = new Uri(string.format("https://api.getaccept.com/v1/documents/{0}/send",id));
根据 c# 的版本,您还可以使用
Uri myUsri = new Uri($"https://api.getaccept.com/v1/documents/{id}/send");