REST API
REST – это принципы построения распределенных гипермедиа систем, включая универсальные способы обработки и передачи состояний ресурсов по HTTP.
Плюсы:
- Надёжность
- Производительность
- Масшатбируемость
- Простота интерфейсов
- Портативность компонентов
- Лёгкость внесения изменений
REST запросы:
- GET – Получить
- POST – Создать
- PUT – Изменить полностью
- PATCH – Изменить частично
- DELETE – Удалить
- github link index js comment
- Как запустить? Где запустить?
- запрос 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
Результат: