tengo API REST realizarán siguiendo el principio de que el resto sólo devuelve los documentos básicos y las referencias en esos documentos COMO conseguir otras cosas, etc, etcAPI REST de clasificación dilema
Por ejemplo, un/coche/5 me dará modelo: blabla, user_id: 1 y luego si necesita el propietario obtendrá/user/1 para obtener datos de usuario ...
De esta manera se une y se evitan cosas en DB ... todas las cosas están vinculadas entre sí y los datos están interconectados en la parte del cliente de reposo - simplificando las cosas fácil de caché/soltar el caché, escalar, etc.
Pero, ¿qué sucede cuando necesita ordenar?
Imaginemos que tenemos alguna vista en la interfaz para mostrar los siguientes datos: Modelo de coche, nombre de usuario, etc. ... y que desea ordenar por nombre de usuario, por ejemplo.
realmente no se puede decir la/coche/5 para ordenar por nombre de usuario causa que sólo sabe de identificadores de usuario ...
Una opción que veo es la clasificación de usuario/usuario/listado? SortBy = nombre de usuario y luego interconectando cuál de esos ID devueltos realmente se refiere al automóvil. pero esto significa que tenemos que obtener TODOS los usuarios ... y solo usar una fracción de los que parece un cuello de botella de rendimiento desastroso.
Gracias por cualquier punteros
bien, toda la persistencia está detrás del REST ... actualmente el resto está usando ORM, pero no creo que esto sea relevante. –
Me dieron la pista de que estaba utilizando ORM porque dijo que estaba evitando uniones en el DB y conectando todos sus objetos en la capa de la aplicación REST. Puedo ver el atractivo de esta arquitectura simple y limpia, pero es probable que esté en la raíz de su dilema actual. Intentaré poner en peligro esta arquitectura para que la aplicación funcione: tener procs o vistas almacenados adicionales en el DB que devuelven los datos pre-ordenados, aún proporcionando mapeo ORM para estos objetos, y dejando que la aplicación REST escoja entre métodos dependiendo de la consulta. –