Wpis z mikrobloga

#programowanie
Mirki jakie jest prawidłowe podejście w projektowaniu api webowego, w takim przypadku:
Mamy jakiś Product, który ma powtarzalne nazwy oraz różne gramatury -> a więc jeden Product określa nazwa, gramatura + pare czynników z tym połączeniem związanych (powiedzmy, ze np. cena, dostepność). Jak określić dobrze API?

wszystkie produkty -> api/product

wszystkie unikalne nazwy produktu -> api/product-names czy api/product/name

dostępne gramatury dla danej nazwy produktu -> api/product-name/x/weight czy api/product/weight?name=x
  • 16
@IJarzi: wbrew pozorom to nie jest taki easy case - name jest częścią produkt, relacja typu has jak wspomniane w art articles, ale tutaj zwrócić chce WSZYSTKIE unikalne parametry "name". Czyli bardziej czytelne jest api/products?fields=name ? Czy może api/product-names? A może api/products/names?
@IJarzi: z osobnymi endpointami to jest problem taki, że nie możesz utworzyć samej nazwy produktu - ta osobna tabela nazw jest tylko dla optymalizacji, ciężko rozpatrywać ja jako osobny resource. Pobranie wszystkich produktów nie wchodzi w grę że względu na wielkość danych - dostałbyś np pięć rodzajów ryżu białego z mnóstwem niepotrzebnych informacji. A tak po prawdzie, front tutaj potrzebuje tylko nazwy "ryż biały".