Estoy desarrollando una API en el nodo en este momento y tengo un modelo que tiene muchas referencias de clave externa (más de 15) a otros modelos.
Me gustaría al menos validar que la carga útil POST entrante contiene ID que existen en las otras tablas, pero no estoy seguro de dónde validar esto.
Si simplemente trato de insertarlo en la base de datos, habrá un error de restricción de clave externa de SQL. Podría capturar esto e intentar transmitir la información a la respuesta de la API.
¿Debería hacer cada validación individualmente antes de probar el inserto?
Tu decides. ¿Con qué frecuencia es probable que fallen? El enfoque optimista es atascarse y esperar lo mejor. Pesimista es verificar sistemáticamente cada relación de antemano.
Siempre puede volver a redactar el error para hacerlo más aceptable. Por lo general, puede observar el error más de cerca para tratar de averiguar qué relación falló y luego generar un error personalizado que explique en términos que alguien pueda entender.
Normalmente hago esto al tener una tabla de mapeo desde el nombre de la tabla hasta la etiqueta utilizada para describir esa tabla. En la mayoría de las aplicaciones, las claves foráneas no desaparecen al azar, eso requiere la interacción de un usuario.
Tal vez durante el proceso de envío del formulario algo caducó, alguien eliminó algo o ocurrió algún otro evento. Esto sucede, pero con mucha menos frecuencia que las presentaciones exitosas.