Flutter a rest api

0

Dopiero się ucze fluttera i mam pytanie co do pracy z restowym api, chcę np. po kliknieciu na button, wykonac akcje POST która przekaze dane z inputów do backendu, no i jesli nastapi sukces to powinno mnie przekierować do środka aplikacji. Jakiej biblioteki powinienem do tego użyć?

1

Na przykład http https://pub.dev/packages/http
Najlepiej wyszukać sobie, co tam ci pasuje na https://pub.dev/ - to taki zbiór wszystkich bibliotek dla dart i flutter.

3

Kilka linków, które mogą się okazać przydatne.
Ale zanim je przejrzysz to zachęcam do przyjrzenia się hasłu ``GraphQL```, które jest uważane za alternatywę (albo nieraz lepszą wersją/lepszym zamiennikiem) REST'a:

https://graphql.org/
https://bulldogjob.pl/news/1789-rest-vs-graphql-porownanie
https://www.howtographql.com/basics/1-graphql-is-the-better-rest/
https://www.mobilelive.ca/blog/graphql-vs-rest-what-you-didnt-know/
https://en.wikipedia.org/wiki/GraphQL
https://graphql.org/

Jeśli temat Cię zainteresuje to mogę dodać, że Flutter już posiada odpowiednie możliwości do korzystania z tego dobrodziejstwa:
https://pub.dev/packages/graphql_flutter
https://pub.dev/packages/graphql
https://hasura.io/learn/graphql/flutter-graphql/introduction/

A wracając do REST'a we Flutterze - obczaj poniższe:

https://flutter-tutorial.com/flutter-rest-api-tutorial
https://www.geeksforgeeks.org/implementing-rest-api-in-flutter/
https://www.tutorialspoint.com/flutter/flutter_accessing_rest_api.htm

0

Ło jezu ! Aż sam z przyjemnością pooglądam i poczytam ! :)

0

@cerrato a musze uzywac jakiegos state managera? Bo chodzi mi o cos takiego, np ze po zalogowaniu ma fetchowac od razu jakis endpoint i jak przejde na jakis widok, wróce to te dane powinny tam nadal byc.

0

jak przejde na jakis widok, wróce to te dane powinny tam nadal byc

Nie do końca rozumiem pytanie, ale wydaje mi się, że mieszasz 2 rzeczy - komunikację (czy to przez REST czy cokolwiek innego) z nawigacją po aplikacji. Jedno z drugim raczej za wiele wspólnego nie ma.

Pobieranie/wysyłanie danych to jeden mechanizm i jak już je pobierzesz to tylko od Ciebie zależy, co z nimi zrobisz. A pokazywanie kolejnych ekranów nijak się ma do komunikacji przez sieć.

0

@cerrato: ale jeżeli pokazanie ekranu nie ma za każdym razem pobierać danych z webserwisu to wypada gdzieś je trzymać w pamięci poza drzewem widżetów

0

@Ghost_: no tak, ale to jest chyba oczywiste. W sensie - napisałem, że chyba nie zrozumiałem pytania. Ale to tak samo jak w webówce - jak robisz webaplikację to nie jest pożądanym działaniem, żeby np. po dodaniu klienta i wciśnięciu F5 ten klient się dodał ponownie ;)

0

W tym najprostszym przypadku pierwszy widok może trzymać dane i podawać drugiemu np w konstruktorze. Chyba że pierwszy to widok logowania, ten musi być zniszczony po zalogowaniu, tzn zdjęty ze stosu i drugi trzyma dane. Bo nie może być tak, że jak wciśniesz wstecz to znów wracasz do okna logowania bez wylogowania.

W ogóle zresztą, tokeny sesji wypada zapisać np w shared preferences i jeśli user się nie wylogował, to wcale nie pokazywać ekranu logowania, tylko od razu ekran główny po uruchomieniu aplikacji. A wylogowanie polega na usunięciu tokenów i pokazaniu ekranu logowania od nowa

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