Upload / Download Rest API - razem czy osobno

0

Jak w temacie: czy lepiej utworzyć osobne API dla obojga czy lepiej rozdzielić. Z góry dzięki.

1

chodzi ci o osobne endpointy, klasy, mikroserwisy? czy o co?

0

chodzi mi co jest uznawane za best practice. Nie chodzi mi o mikroserwisy. Mogę po prostu stworzyć API do obojga, czy generalnie bez sensu to mieszać i powinno się by rule tworzyć takie API osobno?

2

W dwóch oddzielny "drzewkach" URL? to zdecydowanie zły pomysł. Myślę tu kategoriami endpointów, jak słusznie zaakcentował @azalut
W jednym drzewku, jako inne słowa (aka metody) HTTP, przynajmniej ja tak głosuję.

Rozdzielenie tego np prawami, to zupełnie inna opowieść.

UPDATE: chyba, że upload pliku "surowego" to dopiero daleki początek, będzie mu dopiero przypisana kategoria (automatycznie /ręcznie /półautomatycznie), zanim wyląduje w ostatecznym miejscu drzewka. Tak jest w rozwiązaniach dokumentowych. Wtedy bym głosował odwrotnie: surowy upload na jakimś krótkim URL, to jedno, a korzystanie z pliku PO KATEGORYZACJI to drugie.

3

Na pewno powinny być inne metody, upload to POST lub PUT (to zależy czy upload ma być idempotentny) a pobranie GET. Tak więc na poziomie URL to pewnie będa podobne albo takie same linki, ale metody HTTP inne.

3

REST api opiera sie na zasobach. To oznacza, że według mnie nie powinieneś dzielić niczego względem operacji takich jak upload czy download, ale względem zasobu, na którym chcesz te operacje wykonać operować. Tzn masz jeden controller, z jednym pathem do zasobu (/v1/zasob/oktory/chodzi) i na nim wykonujesz jakąś operacje - np GET do downloadu, POST do uploadu/całkowitej podmianki itd.
Później już mozesz mieć osobny DownloadHandler/UploadHandler, Service, Port czy cokolwiek

Dzielenie systemów względem technikalii nigdy się nie kończy dobrze i powinno się tak robić tylko jeśli na prawde potrzeba z jakiegoś względu.

1

Jedna klasa, to przecież ten sam zasób.

1 użytkowników online, w tym zalogowanych: 0, gości: 1