Я думаю, что ответ на ваши вопросы
где вы храните URL-адрес остального клиента?
Правильно ли перенести URL-адрес остальных в файл конфигурации?
зависит от того, как вы реализуете запрос rest на этот URL. Поскольку вы не предоставляете никакой информации о том, как вы реализуете вызов rest, я хотел бы показать вам один из возможных способов и, надеюсь, дать вам представление о том, что вы должны учитывать при реализации решения.
Таким образом, мы можем в основном (для полноты) разделить URL-адрес конечной точки отдыха на две части, которые могут повлиять на нашу реализацию.
Базовый URL-адрес:
"https://www.some-nice-name.com/SomeEndPoint"
и параметры
?key1=value1&key2=value2
имея это в виду, вы можете пойти по пути и разделить их, сохранив базовый URL и параметры в двух разных узлах / атрибутах в файле конфигурации:
{
"BaseUrl" : "https://www.some-nice-name.com/SomeEndPoint",
"UrlParams" : "?key1=value1&key2=value2"
}
Или в одном узле / атрибуте, или даже разбить каждую отдельную пару параметров ("key1 = value1") на собственные поля. И так далее, и так далее ......
В любом случае, если мы сейчас перейдем к нашему C # -коду и реализуем вызов Rest, у нас будет широкий спектр различных возможных решений. В этом примере я покажу вам, как использовать пакет RestSharp NuGet и почему он может повлиять на наше решение по вышеуказанному вопросу.
Итак, один базовый пример:
// I will not show the implementation of ReadYourConfigStuff() because its fairly clear what should happen here
var config = ReadYourConfigStuff();
// Give the BaseUrl to our REST client
var restClient = new RestClient(config.BaseUrl);
// Just taking GET as we have some GET Parameters
var restRequest = new RestRequest(Method.GET);
пока все хорошо,Но мы все еще скучаем по нашим параметрам, верно? Давайте продолжим:
// RestSharp gives us a very nice tool to add GET parameters to our request
restRequest.AddParameter("key1", "value1");
restRequest.AddParameter("key2", "value2");
Это выглядит совсем не так, как мы добавили в наш конфигурационный файл, не так ли? Да. Поскольку RestSharp предоставляет нам инструмент под рукой, который позволяет добавлять параметры один за другим, мы можем сами выбирать, как хранить и поддерживать их в нашем коде. И если мы посмотрим на определение AddParameter
public IRestRequest AddParameter(string name, object value);
, то увидим, что вторым параметром может быть любой объект. Удивительно!
Итак, мой ответ на ваш вопрос: да, вы можете сохранить его в файле конфигурации, но подходит ли он для вашей реализации? Параметры зафиксированы или они меняются? Как ваш любимый инструментарий хотел бы, чтобы вы реализовали запрос на отдых?
Исходя из ответов на эти вопросы, я бы предпочел использовать конфигурационный файл или нет.