Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the quiz-master-next domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /data01/virt105257/domeenid/www.blinov20.thkit.ee/htdocs/wp/wp-includes/functions.php on line 6131
Rest demo – Georgi Blinov Õpimapp

Rest demo

REST API

REST – это принципы построения распределенных гипермедиа систем, включая универсальные способы обработки и передачи состояний ресурсов по HTTP.

Плюсы:

  • Надёжность
  • Производительность
  • Масшатбируемость
  • Простота интерфейсов
  • Портативность компонентов
  • Лёгкость внесения изменений

REST запросы:

  • GET – Получить
  • POST – Создать
  • PUT – Изменить полностью
  • PATCH – Изменить частично
  • DELETE – Удалить
  1. github link index js comment
  2. Как запустить? Где запустить?
  3. запрос GET, => pilt screen POST=> pilt screen,DEFELTE

Harjutus 1

Для запуска моего кода, нужно скачать с моего репозитория код (ссылка).

Чтобы запустить в код, нужно зайти в Powershell нужно найти его в списке приложений или нажать правой кнопкой мыши папке с шифтом и запустите повершелл здесь.), надо зайти в скачанный репозиторий и пропишите “node .”

Теперь проект работает

GET Запрос

POST запрос

DELETE Запрос

Harjutus 2

USER STORY-Пользовательская история

  • As a developer
  • I want to call a RESTful API from my c# application
  • So that I can consume the resoursve it provides

Ссылка позволяющая обрабатывать и редактировать json файл: https://jsoneditoronline.org/

Для того,чтобы начать проект я открыл программу Visual studio и создаю проект restclientproject

2. Нужно открыть форму Form1.cs и добавить 2 Textbox, 2 Label, Button. Изменить текст кнопки Go на эстонский вариант Mine. И помимо этого у Label текст на URI Päring и Vastus.
У первой textbox мы ставим name в properties txtRestURI и у второго name txtResponse

3. После этого создаю новый классы restclient

Далее создаем класс RestClient и вписываем в него следующий enum

public enum httpVerb
    {
        GET,
        POST,
        PUT,
        DELETE
    }

Enum позволит нам легко определятся между типами запросов

После объявляем 2 переменные:

public string endPoint { get; set; }
public httpVerb httpMethod { get; set; }

Теперь создаю функцию makeRequest()

public string makeRequest()
{
    //переменную, которая будет содержать в себе ответ
    string strResponseValue = string.Empty;
    //создаем запрос по данной ему ссылке
    HttpWebRequest request = (HttpWebRequest)WebRequest.Create(endPoint);
    //назначем запросу его тип
    request.Method = httpMethod.ToString();
    HttpWebResponse response = null;
    try
        {
            //получаем ответ с запроса
            response = (HttpWebResponse)request.GetResponse();
            //Proecess the resppnse stream... (could be JSON, XML or HTML etc..._
            using (Stream responseStream = response.GetResponseStream())
            {
                //если ответ не пустой
                if (responseStream != null)
                {
                    using (StreamReader reader = new StreamReader(responseStream))
                    {
                        //записываем его в переменную для ответа
                        strResponseValue = reader.ReadToEnd();
                    }
                }
            }
    }
    //ловим ошибки
    catch (Exception ex)
    {
    strResponseValue = "{\"errorMessages\":[\"" + ex.Message.ToString() + "\"],\"errors\":{}}";
    }
    finally
    {
    //если ответ существует, то очищаем его, чтобы не занимал память
    if (response != null)
    {
        ((IDisposable)response).Dispose();
    }
}
    return strResponseValue;
}

4.Далее перехожу в Form1.cs[Design] и нажимаю два раза. После чего переношусь в form 1.cs

private void CmdGO_Click(object sender, EventArgs e)
        {
              RESTClient rClient = new RESTClient();

            rClient.endPoint = txtRequestURI.Text;
            debugOutput("RESTClient Object created.");

            string strJSON = string.Empty;

            strJSON = rClient.makeRequest();

            debugOutput(strJSON);
        }
 
private void debugOutput(string strDebugText)
{
    try
    {
        System.Diagnostics.Debug.Write(strDebugText + Environment.NewLine);
        txtResponse.Text = txtResponse.Text + strDebugText + Environment.NewLine;
        txtResponse.SelectionStart = txtResponse.TextLength;
        txtResponse.ScrollToCaret();
    }
    catch (Exception ex)
    {
        System.Diagnostics.Debug.Write(ex.Message, ToString() + Environment.NewLine);
    }
}

При нажатии на кнопку “Mine!” и вставки ссылки на какой либой сайт в textbox 2 будет отображаться код сайта

https://blinov20.thkit.ee/Ulesanne1/books.json

Результат:

Leave a Comment

Sinu e-postiaadressi ei avaldata. Nõutavad väljad on tähistatud *-ga