Si entendi bien, creo que su problema es solo de no exponer detalles de su base de datos al usar los ids reales en peticiones get.
Si es eso, es muy sencillo solucionarlo solo tienes que ofuscar tus ids, te dejo dos paquetes que te ayudan con esto.
https://github.com/jenssegers/optimus https://hashids.org/
Otra opción es usar un campo adicional y usar UUID y hacer las peticiones de busqueda por es campo. Puedes usar uuid mediante esta libreria.
https://github.com/ramsey/uuid