Zastanawia mnie to od dłuższego czasu.
Na przykład mamy interfejs API REST, który zapewnia podstawową zawartość systemu, zużywając i produkując JSON. W tym punkcie końcowym generuje adres URL obrazu i opisu, i można go znaleźć tak: // localhost / myApi / pictures / 1
{
id: 1,
description: "This is a pretty picture of a daisy",
URL: <OUR URL>
}
Teraz OUR_URL powinien wskazywać lokalizację w interfejsie API, na przykład // localhost / myApi / files / pictures / 1, która zwraca JPG (aplikacja za API odczytuje fizyczną zawartość pliku, a następnie przesyła strumieniowo z powrotem do klienta ). To oczywiście różni się od reszty interfejsu API, który generuje odpowiedzi JSON, i będzie istniał narzut związany z odczytywaniem i przesyłaniem strumieniowym rzeczywistego pliku.
Ewentualnie OUR_URL powinien wskazywać adres URL spoza zakresu usługi REST, więc //localhost/files/pictures/1.jpg, gdzie bezpośrednio odczytuje plik.
Pytanie brzmi:
Czy interfejs API RESTful powinien być w stanie zwracać pliki, czy tylko lokalizację?