Budowanie DB na podstawie API

0

Cześć,
Zwracam się do Was z pytaniem jak sobie radzicie z odwzorowaniem struktury WEB API gdy nie ma dokumentacji do niego?

Weźmy taki przykład jest sobie np. takie api jak SWAPI (swapi.co) i teraz na podstawie endpointow jak np. swapi.co/api/people/1/ tworzę sobie model People, następnie Films z relacją do People. Patrząc na swapi.co/api/films/2 widać, że również jest potrzeba utworzenia Characters z relacją do People etc... Czy używacie jakiś skryptów do generowania modeli i relacji czy wszystko ręcznie analizując każdy endpoint?

1

Ale w jakim celu?

0
somekind napisał(a):

Ale w jakim celu?

Żeby pobierać dane do DB i je trzymać. Dobrym przykładem jest API z pogodą lub z innymi dynamicznymi danymi. Chodzi mi o dobre praktyki projektowania DB która korzysta z dynamicznego API. Czy robi się to ręcznie analizując dokumentacje/endpointy etc czy używa się skryptów do odwzorowania struktury API -> modele.

0

Chwilka nie rozumiem koncepcji, o jakie budowanie bazy i modeli Ci chodzi?

0

Twoje pytanie brzmi: czy da się z dowolnego endpointu wygenerować warstwę dostępu do danych - tak się nie da. Mniej lub bardziej przydatne linki:
a) W javie korzystam z http://www.jsonschema2pojo.org/, pewnie jest jakiś ekwiwalent który będzie generować POCO. Jest też plugin do tego, można to zautomatyzować.
b) https://swagger.io/tools/swagger-codegen/
c) Java: https://github.com/Oleur/SWAPI-Android-SDK/tree/master/SWAPI_SDK/lib/src/main/java/com/swapi/models, C# : https://github.com/olcay/SharpTrooper

1
bONadSoT napisał(a):

Żeby pobierać dane do DB i je trzymać. Dobrym przykładem jest API z pogodą lub z innymi dynamicznymi danymi.

API z dynamicznymi danymi jest dobrym przykładem do trzymania ich w bazie? Hmm...

Chodzi mi o dobre praktyki projektowania DB która korzysta z dynamicznego API.

Baza nie korzysta z API. Co najwyżej można bazę danymi z API wypełnić.

Czy robi się to ręcznie analizując dokumentacje/endpointy etc czy używa się skryptów do odwzorowania struktury API -> modele.

Pod tym względem to raczej nie ma znaczenia, czy źródłem danych jest API, plik czy człowiek. Bazę danych projektuje się zgodnie z potrzebami i założeniami. Pewnie da się automatycznie wygenerować na podstawie listy endpointów, ale efekt niekoniecznie może mieć coś wspólnego z dobrymi praktykami.

1 użytkowników online, w tym zalogowanych: 0, gości: 1