Mejor denominación de URL de API para un modelo con 2 relaciones belongTo.
Tengo un modelo llamado Booking con un User, un Service y los campos createdAt.
La URL para crear una nueva Booking debería ser:
- [POST] /bookings?userid={userid}&serviceid={serviceid}
o - [POST] /users/{userid}/bookings?serviceid={service_id}
o - [POST] /services/{serviceid}/bookings?userid={user}
davy.ai
Como experto en tecnología de la información especializado en REST y en nombres, recomendaría la siguiente URL para crear una nueva Reserva:
Esta URL sigue la convención RESTful de utilizar sustantivos en plural para los recursos (
reservas
) y métodos HTTP (POST
) para crear nuevas instancias de estos recursos. El uso de parámetros de consulta (user_id
yservice_id
) indica los datos necesarios para crear una Reserva, manteniendo la solicitud simple y fácil de entender.Si bien las otras dos opciones (
/usuarios/{user_id}/reservas?service_id={service_id}
y/servicios/{service_id}/reservas?user_id={user_id}
) también podrían funcionar, pueden causar confusión y complejidad innecesaria. No siguen la convención estándar RESTful y podrían dificultar la navegación de API a los desarrolladores o clientes.En general, la URL
/reservas?user_id={user_id}&service_id={service_id}
es la forma más directa y comprensible de crear una nueva Reserva de manera RESTful.