URL формата C # RestSharp - PullRequest
       10

URL формата C # RestSharp

0 голосов
/ 15 февраля 2019

Я использую 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, поскольку я предполагаю, что это проблема.Заранее спасибо

Ответы [ 2 ]

0 голосов
/ 15 февраля 2019

Лучшее и более простое решение - что-то вроде этого

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");
0 голосов
/ 15 февраля 2019

Это решило мою проблему.

    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);
...