![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 371 Pomógł: 30 Dołączył: 14.04.2010 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Chcę zbudować API w symfony 2(2.6.3). Nie chcę korzystać z FOSRestController - przynajmniej nie w tej chwili - być może w przyszłości. Moja koncepcja jest taka żeby zbudować jeden kontroler ApiController który wywoła odpowiednią akcję podaną w parametrach ścieżki. Czyli chodzi mi o coś takiego jak tu: http://code.tutsplus.com/tutorials/creatin...tion--net-23417 tyle że w symfony2 - tam jest jeden plik wywołujący pozostałe. Mam jednak wątpliwości czy moja koncepcja jest prawidłowy podejściem. Ponadto nie wiem jaki routing utworzyć by była możliwość podania akcji i kilki parametrów. Jeśli ta koncepcja jest zła to będę wdzięczny za podanie jakiejś alternatywnej (IMG:style_emoticons/default/smile.gif) Tylko proszę - nie odsyłajcie do artykułów: http://welcometothebundle.com/symfony2-res...-best-2013-way/ czy right way czy easy way - widziałem to i stworzyłem przykładowe projekty na tym - są one oparte na FOSRestBundle a nie chce z niego korzystać bo uważam że nie ma potrzeby wykorzystywania takiej "kobyły". Z góry dzięki (IMG:style_emoticons/default/smile.gif) |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 655 Pomógł: 73 Dołączył: 2.05.2014 Ostrzeżenie: (0%) ![]() ![]() |
Ja ci powiem jak ja to zrobiłem.
Routing ma tylko: Www.strona.pl/{url} I wsio W modelu z kolei parsuje zmienna url., np.: produkt:ccc-xxx-vvd--najnowsze--2 Rozbijasz wg. --, jezeli int i ostatnie to wiadomo ze paginacja Pierwsze to np. Lista produktów itp. Drugie to np parametr do sortowania wyników. Sprawdzasz czy istnieje w jakiej sobie tan zdefiniowanej tablicy Itp. Routing triche ogranicza bo jak nie podasz sortowania to albo ustawisz domyślnie albo wywali error. A jak np. Nie podasz filtrów (Parametr 1) to tez troche problem będzie Najłatwiej moim zdaniem ustalić sobie takie ścieżki. Ewentualnie możesz robic zwykly get: Www.strona.pl?parametr=cccc?sort=xxx?page=2 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
Forti, to nie jest REST API. To jakieś coś dziwnego...
albo FOSRestBundle I lepiej się tym od razu zainteresuj niż praktykować jakieś dziwne nawyki. Jeżeli chcesz REST API jakieś od podstaw (aplikacja od podstaw) to polecam laravela do tego. Tam się błyskawicznie to buduje. Ten post edytował Pyton_000 6.02.2015, 09:12:22 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 655 Pomógł: 73 Dołączył: 2.05.2014 Ostrzeżenie: (0%) ![]() ![]() |
Wiem ze nie jest (IMG:style_emoticons/default/tongue.gif) ale gościu chcial cos szybkiego i lekkiego wiec mu podalem szybkie i lekkie rozwiązanie. Hihi (IMG:style_emoticons/default/tongue.gif)
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 371 Pomógł: 30 Dołączył: 14.04.2010 Ostrzeżenie: (0%) ![]() ![]() |
@Forti no właśnie z parametrami nie wiedziałem jak zrobić.
@Pyton_000 - spójrz proszę na mój pierwszy post - pisałeem tam o tych linkach -nie są mi obce (IMG:style_emoticons/default/smile.gif) tylko z tego co ja tam widzę to muszę dla każdej akcji definiować konkretny routing itd., a chciałbym w jednym kontrolerze odpalać inne akcje. |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
Tak doczytałem właśnie ;P
Co do route to tak, musisz to robić. Ale Albo chcesz REST API albo API. |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 655 Pomógł: 73 Dołączył: 2.05.2014 Ostrzeżenie: (0%) ![]() ![]() |
Test api brzmi lepiej (IMG:style_emoticons/default/tongue.gif)
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 371 Pomógł: 30 Dołączył: 14.04.2010 Ostrzeżenie: (0%) ![]() ![]() |
Czy krótko mówiąc wg Was moja koncepcja jest błędna? zostaje mi tylko FOSRestApi czy mogę bez tego bundla sobie poradzić?
@Pyton_000 - widzę że mam braki w definicjach - możesz napisać mi czym różni się API od RestAPI lub przytoczyć link z opisem? Bo chyba już się w tym pogubiłem ;/ Ten post edytował webmaniak 6.02.2015, 09:24:50 |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
RESTful API botak to się dokłanie nazywa to cała koncepcja i "standard" w jaki sposób jest realizowany dostęp do zasobów.
API to po prostu API, może byc SOAP, XML, JSON czy cokolwiek innego. taka ogólna definicja. Po prostu dostęp do zasobów. Może być dowolnie implementowany. |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 371 Pomógł: 30 Dołączył: 14.04.2010 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki Panowie za pochylenie się nad moimi wątpliwościami (IMG:style_emoticons/default/smile.gif)
@Pyton chciałbym zbudować API w symfony ale wszystkie artykuły o symfony i api dotyczą RESTful API. Zapewne wybiorę jednak FOSRestBundle i tak to się skończy (IMG:style_emoticons/default/smile.gif) Dziękuję jeszcze raz (IMG:style_emoticons/default/smile.gif) |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 273 Pomógł: 52 Dołączył: 3.02.2013 Skąd: Przemyśl Ostrzeżenie: (0%) ![]() ![]() |
Ja ostatnio trochę się bawiłem z REST API i używałem do tego celu Silex
Dosyć przyjemnie mi się z nim pracowało. |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 4 340 Pomógł: 542 Dołączył: 15.01.2006 Skąd: Olsztyn/Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Bez FOSRestBundla też sobie poradzisz.
Wystarczy odpowiednia konfiguracja linków aby móc wykonywać odpowiednie zadania. jezeli ustalisz sobie adres domena.pl/api/costam, to w routingu mozesz sobie ustawic aby
taki routing wrzucasz do osobnego pliku i includujac go w glownym routingu dajesz opcje prefix: /api i masz piekne linki domena.pl/api/urlname Dodatkowo możesz żeby za każdym razem nie robić json_encode, zlap się na responsie i lisenerem zmieniaj to w zależności o co poprosi user (jeżeli zakladasz ze bedzie chcial JSON|XML) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 26.08.2025 - 14:20 |