Wpis z mikrobloga

Mirki, wołam #python oraz #programowanie. Jest jakieś rozwiązanie, które pozwala na zrobienie pluginów do REST API? Mam taki case, że potrzebuję zrobić i udostępnić API a później pozwolić w łatwy sposób modyfikować skończonej, zamkniętej liczbie użytkowników. Moja pierwsza myśl to repo i pull requesty, jak wciągnę to pójdzie na produkcje jak nie wciągnę to nie ale może są jakieś inne rozwiązania?
  • 9
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Sok_Pomaranczowy: ale API polega na tym, że to Ty dajesz komuś API :D
Nikt nie może dodawać swoich metod, bo… niby jak by to miało działać?

Funkcjonalnie to robisz repo (co zresztą napisałeś), pull/merge requesty (co zresztą napisałeś; zwał jak zwał). Właściwie to dokładnie tak się to robi.

Generalnie użytkownicy nie powinni zmieniać API, więc to nadal powinno być jedynie w ramach poprawek aplikacji/API, a nie zmian typu „bo ja
  • Odpowiedz
@morsik: chodziło raczej o nie zmienianie istniejących metod tylko dodawanie własnych np. mamy swoje /api/samochody i tam mozesz sobie wyszukiwac, po modelu, marce roku produkcji itp. ale chcesz dodać własną metodę np. api/morsik/samochody?liczbakol=12
  • Odpowiedz
@Sok_Pomaranczowy: jeśli to miało by być moje "prywatne" API to pomysł kiepski od samego początku. Użytkownicy nie powinni móc zmieniać czegoś tak ważnego i niebezpiecznego jak API. Nawet jeśli to by były nowe elementy.
  • Odpowiedz
@morsik: API do wewnętrznego użytku w dużym korpo. ma być bramą do różnych systemów jak ldap, bazki konkretnych aplikacji, poczty, autoryzacja, autentykacja, taka sytuacja ;). Chodzi o to żeby jak najmniej angażować programistę w rozwój na potrzeby innych projektów.
  • Odpowiedz
@Sok_Pomaranczowy: a. Myslałem, że na świat.

No to nie wiem nad czym się tu zastanawiać w takim razie :D
Repo to pomysł w 100% poprawny i każdy by to dokładnie tak zrealizował.

Możesz do tego połączyć to z Jenkinsem/GitLab CI czy nawet dodatkowo z SaltStackiem i robić automatyczny deployment po pushu do mastera.
  • Odpowiedz
@morsik: właśnie wszystkie inne pomysły były moim zdaniem gorsze bo w przypadku pull requestów mamy największą kontrolę i otwartą komunikację nt. wymagań jakie muszą być spełnione. problemem może być jakiś konflikt zależności czy konieczność doinstalowania jakichś bibliotek na maszynie ale zobaczymy. imho na początek najlepsze wyjście ale chciałem potwierdzenia osoby "z zewnątrz" :)
  • Odpowiedz
problemem może być jakiś konflikt zależności czy konieczność doinstalowania jakichś bibliotek na maszynie


@Sok_Pomaranczowy: no to you're doing it wrong ;)

1. Masz używać virtualenv.
2. Razem z projektem ma istnieć plik requirements.txt.
3. Podczas deploymentu musisz doinstalować wszelkie zależności przez pip install -r requirements.txt
  • Odpowiedz