Skip to content

Latest commit

 

History

History
122 lines (85 loc) · 2.85 KB

slides.md

File metadata and controls

122 lines (85 loc) · 2.85 KB

class: center, middle

ABM API

???

  • pół na pół: sztuka i nauka
  • wyklarowały się dobre praktyki
  • głównie na bazie HTTP (ale nie jest to konieczność)

API REST-owe

  • REpresentational State Transfer
  • Roy Fielding – dysertacja doktorska
  • Styl architektoniczny oparty o zasoby
    • zasaoby a nie akcje (jak w SOAP)
    • rzeczowniki zamiast czasowników
    • /getUserData?userId=123 -> /user/123/data
    • zasób odseparowany od reprezentacji (np. DB -> XML)
  • Więcej w prezentacji

Metody HTTP

  • Odpowiadają za dużą część "jednolitego interfejsu"
  • Wprowadzenie akcji na rzeczownikowych zasobach
Metoda CRUD /customers /customers/{id}
POST Create 201 (Created), Location: /customers/{id} 404 (Not Found), 409 (Conflict)
GET Read 200 (OK), lista klientów 200 (OK), pojedynczy klient, 404 (Not Found)
PUT Update/Replace 404 (Not Found), chyba, że wszystko 200 (OK), 204 (No Content), 404 (Not Found)
PATCH Update/Modify 404 (Not Found), chyba, że wszystko 200 (OK), 204 (No Content), 404 (Not Found)
DELETE Delete 404 (Not Found), chyba, że wszystko 200 (OK), 204 (No Content), 404 (Not Found)

Wymagania wstępne


Autoryzacja

  • OAuth 2.0
  • Logowanie
  • Token do API – generowany na stronie
  • Nagłówek autoryzacyjny
Authorization: Bearer eyJhbGciOiJIUz...

Zasoby

https://test.e-abm.pl/api/v1/

  • /data
  • /projects
  • /models
  • /scoring

Dane

  • listowanie tabel
  • import (csv, db)
  • eksport (csv, db)
  • kasowanie

Projekty

  • listowanie projektów
  • tworzenie
  • kopiowanie
  • zmiana ustawień
  • uruchamianie / sprawdanie statusu
  • informacje o projekcie / moduły / statystyki
  • eksport kodu scoringowego
  • scorowanie wsadowowe / sprawdzanie statusu
  • kasowanie

Modele

  • jedno wywołanie
    • import danych
    • utworzenie projektu
    • uruchomienie projektu
  • sprawdzenie statusu
  • pobranie wyników

Scorowanie

  • wdrożenie projektu do RTD - nowe Id
  • listowanie wdrożonych projektów
  • scorowanie real time

class: center, middle

Pytania?