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