IDs (Internos & Externos)

IDs

Un identificador (comúnmente referido sencillamente como “ID”) es (y debería ser) una propiedad unívoca para identificar a un recurso, por el cual siempre se podrá ubicar/encontrar al mismo. Esto implica que el ID debe ser inmutable. En el contexto de una base de datos, esto es típicamente la “PK” (Primary Key o Clave Primaria) de una taabla, y este concepto es virtualmente el mismo aplicado al contexto de la Web API.

IDs en la Web API

  • Hay 2 tipos: Internos y Externos:

    • Los IDs internos son valores estrictamente relacionados con los IDs en el repositorio de datos, los cuales el usuario puede o no conocer de antemano. Por esta razón, existe el segundo tipo de ID.
    • Los IDs externos son valores con los que el usuario está más familiarizado, por lo que en muchos casos le será más fácil usar éstos en vez de los IDs internos. Para ilustrar esto con un ejemplo, pensar en un libro. Probablemente no se conozca el ID interno del registro en una base de datos donde se listen libros (eso sería la Primary Key), pero sí es más accesible el código ISBN (está impreso en todos los libros del mundo), el cual no es un valor determinado arbitrariamente por la base de datos sino un estándar mundial para identificar libros.

Un escenario similar se puede aplicar a la Web API de RAET: al buscar por datos de un empleado, el usuario puede consumir un servicio que requiere se indique su ID para saber de qué empleado se devolverá la información. Ahora bien, la Web API tiene a disposición del usuario la posibilidad de utilizar el servicio enviando el ID interno del empleado o bien su legajo (el ID externo, en este caso) para obtener exactamente la misma respuesta.

En resumen, los IDs internos son identificadores que la Web API utiliza para poder encontrar la información en la base de datos. Los ID externos son un medio más “amigable” provisto especialmente para que los usuarios puedan consumir los servicios con mayor facilidad. De todos modos, como mencionado anteriormente, el uso ambos dos es totalmente intercambiable y la respuesta no será alterada; el resultado es el mismo.

Ir arriba ↑