Esto me ha estado desconcertando por un tiempo.
Por ejemplo, tenemos una API REST que proporciona contenido básico a un sistema, consumiendo y produciendo JSON. En este punto final, produce una URL a una imagen y una descripción, y se encuentra así: // localhost / myApi / pictures / 1
{
id: 1,
description: "This is a pretty picture of a daisy",
URL: <OUR URL>
}
Ahora OUR_URL debería apuntar a una ubicación en la API, por ejemplo // localhost / myApi / files / pictures / 1 que devuelve un JPG (la aplicación detrás de la API lee el contenido físico del archivo y luego lo transmite de nuevo al cliente ) Obviamente, esto es diferente al resto de la API que está produciendo respuestas JSON y habrá una sobrecarga por la lectura y la transmisión del archivo real.
Alternativamente, OUR_URL debe apuntar a una URL fuera del alcance del servicio REST, entonces //localhost/files/pictures/1.jpg donde lee el archivo directamente.
Entonces la pregunta es:
¿Debería una API RESTful poder devolver archivos, o solo una ubicación?