![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 36 Pomógł: 0 Dołączył: 14.03.2013 Ostrzeżenie: (0%) ![]() ![]() |
Cześć, męcze się nad stworzeniem api własnej strony. Chodzi mi narazie o proste linki typu http://strona.pl/api/user,1,format,json która zwracałaby użytkownika o id w bazie == 1.
Zadanie dość proste, lecz chcę zrobić to wg architektury REST i zgodnie z wzorcami projektowymi. - jak pobierać wartośći w linku, które są po przecinku? - jak "wyrzucać" dane na ekran, jeżeli chcę to mieć w formacie json/xml ? |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 279 Pomógł: 42 Dołączył: 10.10.2011 Ostrzeżenie: (0%) ![]() ![]() |
Do RESTa najlepiej mieć napisany router, ewentualnie korzystać z frameworka (raczej rekomendowane). Podziel zapytania na 4 typy, POST do tworzenia, GET do pobierania, PUT do aktualizacji i DELETE do usuwania. W przypadku GET korzystaj z parametrów $_GET, np http://strona.pl/api/user?id=1&format=json. Do reszty korzystasz z $_POST. Wszystko się tak na prawdę opiera na warstwie HTTP, potrzebujesz tylko routera o którym pisałem. Aby wyrzucić dane wystarczy zwykłe echo. Użytkownicy Twojego API będą się komunikować korzystając z CURLa albo Socketów (tak przynajmniej działa podstawowe korzystanie z RESTa w ZF2).
Ten post edytował Puszy 4.07.2017, 11:58:17 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 6 380 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
https://apigility.org/documentation/intro/first-rest-service
Generalnie Zend Expressive też bardzo fajnie nadaje się do API. -------------------- |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
/users - zwraca wszystkich userów
/users/1 - zwraca usera ID=1 /users/1/posts - zwraca wszystkie posty usera ID1 itd. Co do formatu output to dodajesz jako query string: ?format=json ?format=xml Materiały: https://github.com/RestCheatSheet/api-cheat...ign-cheat-sheet https://stackoverflow.com/questions/671118/...ful-programming |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 36 Pomógł: 0 Dołączył: 14.03.2013 Ostrzeżenie: (0%) ![]() ![]() |
/users - zwraca wszystkich userów /users/1 - zwraca usera ID=1 /users/1/posts - zwraca wszystkie posty usera ID1 itd. Co do formatu output to dodajesz jako query string: ?format=json ?format=xml Materiały: https://github.com/RestCheatSheet/api-cheat...ign-cheat-sheet https://stackoverflow.com/questions/671118/...ful-programming Dzięki! Nie będzie to duże API i z jednej strony wykorzystywanie frameworków to może być przerost formy. Z drugiej, ciężko będzie mi samemu napisać router. Do celów testowych wykorzytuję darmowy hosting strony WWW, uda mi się tam zainstalować jakiś framework? ![]() |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 279 Pomógł: 42 Dołączył: 10.10.2011 Ostrzeżenie: (0%) ![]() ![]() |
Framework to w skrócie nic innego jak zbiór gotowych funkcji napisanych w PHP, jeżeli działa Ci zwykłe Hello World, to framework też zadziała. Możesz mieć później tylko problemy przy bardziej zaawansowanym korzystaniu, np. gdy będzies zpotrzebował mb czy też gd2. https://symfony.com/doc/current/reference/requirements.html tutaj znajdziesz wymagania co do Symfony, są niemal żadne. Co do routera, pobranie parametrów to kilka linijek, dopiero później rozdzielanie zadań może powodować błędy ale mimo wszystko będzie to szybsze czasowo rozwiązanie niż nauczenie się od zera frameworka przy założeniu że wiesz jak zastosować taki router napisany przez siebie.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 08:12 |