#laravel #rest

jak tworzyć link do powiązanego zasobu z danym zasobem?
np. mam urządzenie i chce pokazać wszystkie logi danego urządzenia
czy muszę tworzyć nowy kontroler czy nową akcje w kontrolerze urządzenia? (teraz stworzyłem nową akcje w kontrolerze urządzenia)
taki link jest poprawny? /infrastructure/58/logs -> logi urządzenia o id 58
  • 6
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Cześć,
bawię się ostatnio system API (REST) i mam pewne pytania odnośnie sposobu autoryzacji. Mam nadzieje, że bardziej doświadczeni koledzy będą w stanie coś tutaj pomóc. Mam obawy, iż podążam w złym kierunku.

Case Study
Mam serwis udostępniający programistom swoje API. Na potrzeby tego przykładu załóżmy, że są to funkcje odczytują dane i nie pozwalające na ich modyfikowanie. Tym niemniej autorzy serwisu chcieli żeby dostęp do API był kontrolowany. Każdy chętny musi zgłosić taką potrzebę
  • 8
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

oAuth


@Seeker: @mGz: @Ununoctium: Panowie, nie mylcie uwierzytelniania użytkownika z uwierzytelnianiem aplikacji!

OAuth został pomyślany odnośnie tego pierwszego. Po co? Po to, żeby aplikacje nie musiały
  • Odpowiedz
Oddzielną bajką jest sprawdzenie czy faktycznie tylko pożądany przez nas klient dostaje się do API. Czyli np, że chcemy wpuszczać „naszą” aplikację, a innych już nie.

I tutaj już nie ma 100% pewnych sposobów, można co najwyżej utrudniać – chyba, że mamy sprzętowy (i jeszcze nie złamany) DRM :P


I to jest dla mnie clue sprawy. Dzięki wszystkim za pomoc.

@MacDada: Generalnie w swoim poście odpowiedziałeś na wszystkie moje niejasności.
  • Odpowiedz
#programowanie #java #spring #rest #jezykpolski #truestory

Produkcja widoku jest czynnością jednowymiarową. Jeżeli nazwa widoku pasuje do widoku, zostaje on wybrany. Kiedy produkcja widoków na podstawie nazw widoków dotyczy widoków, które mogą generować różne reprezentacje zasobu, dochodzi dodatkowy wymiar. Oprócz dopasowania widoku do nazwy widoku, wybrany widok musi być jeszcze odpowiedni dla klienta.


Spring w akcji, Wydanie IV, s. 452 (rozdział
  • 5
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@mikkeboss: Ksiazki napisane takim totalnym belkotem powinno sie palic a autorow wywalac na bruk, razem z korekta.
Co to w ogole jest Negocjowanie reprezentacji zasobu?
Moja prace inzynierska napisalem w Springu i obronilem w 2011 i od tego czasu mam z tym frameworkiem do czynienia. Moge smialo powiedziec ze czytanie takich bzdetow nie przynosi zadnych korzysci.
  • Odpowiedz
Wyszło w projekcie takie założenie, żeby zrobić jeden kontroler przyjmujacy argumenty i nazwy funkcji i pisać funkcje na bazie danych w mssql (takie wymagania co do bazy u klienta ;) bez hejtu.). Dzięki temu raz napisaliśmy kontroler i teraz bez zmiany serwera mozemy dokładać nowe funkcjonalności. Serwer przerabia wszystko z bazy danych na json {nazwazwracanejkolumny : wartosc ...}. Co myślicie o takim podejściu, ja jestem tak średnio do tego nastawiony.
  • 45
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@markaron: ech, młodzieży
trzymanie logiki w bazie danych nie implikuje, że bd jest najważniejszą częścią, a jedynie unifikuje / umożliwia / wymusza dostęp do danych
ideowe odrzucanie logiki w bazie danych to krótkowzroczność (a raczej brak doświadczenia) i prowadzi do duplikowania kodu w różnych aplikacjach w różnych technologiach

kolejny błąd to podejście na zasadzie, że coś jest najważniejsze i tym samym porównywanie bazy danych do aplikacji. bez zmiany tego podejścia
  • Odpowiedz
@markaron:

Sql jest językiem deklaratywnym, dużo trudniejszym w analizie i debugowaniu. Poza tym nie oferuje możliwości jakie daje OOP, a które pozwalają wygodnie modelować złożone procesy biznesowe. Podobnie jest z brakiem podejścia funkcyjnego, które czasami pozwala rozwiązać pewne problemy dużo łatwiej i czytelniej niż choćby OOP.

A kto powiedział, że logikę w bazie danych trzeba pisać w SQL? To byłby masochizm ( ͡ ͜ʖ ͡)
Jest kilkadziesiąt języków w
  • Odpowiedz
@villager: > no czasem wystarczy że działa
Tak, to najważniejsza rzecz z jaką spotyka się programista przy robieniu projektów ograniczonych czasowo. "Czasem wystarczy, że działa." Smutne to, ale no niestety - czasami faktycznie nie ma czasu.
  • Odpowiedz
Mireczki, potrzebuje wytłumaczenia odnośnie REST-a, gdyż moja wiedza po kilku internetowych lekturach jest bardzo chaotyczna. Otóż mam bazę danych, do której potrzebuje dostępu z dwóch aplikacji mobilnych (Android) i jednej webowej. Jak zaimplementować RESTa do tej bazy danych?

Czy ktoś potrafiłby mi wyjaśnić schemat działania oraz udziału REST-a w przypadku przeze mnie podanym? Jak pobierane są dane z bazy? Jaką dokładnie rolę spełnia REST (prezentuje bazę w postaci json, która jest potem
  • 5
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@p3sman: @szymy: @PanDziobaku: REST jest jednym z najbardziej nie zrozumiałych konceptów w internecie. Tak na prawdę to jest tylko zbiór abstrakcyjnych wymagań, który można zrealizować na bardzo wiele sposobów. Jednym z takich sposobów jest CRUD który działa przez AJAX i JSON.
  • Odpowiedz
Kuwa przebijam się przez #nodejs (i przy okazji standardy #rest i #http) po godzinach i czasem już mam do tego zęby do samej podłogi. Oby potem był z tego jakiś chleb. #awyzalesie
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Mircy jest jakieś API w sieci z którego można dostać info o miastach? W szczególności interesuje mnie Wrocław.
Np. fotoradary, wyłączenia prądu, tego typu informacje codzienne.
#webdev #rest #api
  • 6
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Lipathor warto na pewno wiedzieć, że framework trzeba dobrze poznać i wykorzystywać jego narzędzia oraz fajnie stosować się do jego sposobu pracy. Często widuję hinduski kod, gdzie wszystko siedzi w kontrolerze i używa się globalnych np $POST i $GET. Owszem, można, ale nie po to framework ma kupę narzędzi i popisanego kodu, żeby robić po swojemu :) ZDECYDOWANIE zatem dokumentacja (symfony ma całkiem w pytkę docsy z przykładami) oraz
  • Odpowiedz