Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

283
Vistas
¿Qué se debe devolver cuando una propiedad no tiene un valor en una API REST?

Cuando no hay un valor asignado a una propiedad, ¿debería devolverse como nulo o la API REST debería omitir por completo dichas propiedades?

Considere un ejemplo de objeto de usuario que tiene nombre y apellido. (En el siguiente ejemplo, last_name no necesita ser una cadena vacía específicamente. Tenga en cuenta que nunca se recibió del usuario final).

 { first_name: "Bob", last_name: "", }

Ahora, dado que el cliente conoce el esquema del usuario, ¿debe devolverse last_name o simplemente eliminarse de la respuesta para que el cliente pueda establecer automáticamente un valor predeterminado (es decir, una cadena vacía "" )

En caso de que se deba devolver nulo, ¿tiene sentido devolver nulo cuando tiene un significado especial en algunos casos (es decir, null significa algo y es diferente de undefined )

over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Mi opinión personal sobre esto sería omitir/omitir el campo, si no hay datos presentes. Si tuviera que enviar cientos de MB en este JSON , contaría mucho.

Además, no olvide que su cliente siempre debe tener en cuenta y VERIFICAR los datos provenientes de la API hasta cierto punto. Comprobar si existe una clave en una matriz de claves es más fácil en numerosos lenguajes de programación que existen.

Teniendo en cuenta que debe validar el tipo de información que proviene de la API (int, cadena, objeto, etc.), guardaría esa parte, si la clave no existe en la respuesta.

Si por casualidad necesita que una clave tenga un valor nulo si no está presente en la respuesta de la API, lo anterior no significa que no pueda agregarla cuando valide la respuesta de la API. Todavía tendría LESS cosas para calcular, lo que lo haría más eficiente.

over 4 years ago · Santiago Trujillo Denunciar

0

undefined no debe usarse intencionalmente si desea expresar un valor faltante. Para eso tenemos null . La definición de... pues nada. Estoy bastante seguro de que es por eso que rfc4627 incluye nulo.

JSON puede representar cuatro tipos primitivos (cadenas, números, booleanos y nulos) y dos tipos estructurados (objetos y matrices).

https://www.rfc-editor.org/rfc/rfc4627

También indica que emitiste null intencionalmente y que el valor no falta debido a un error interno.

Al final, esto depende en gran medida de quién consume esta API. Si conocen las especificaciones, creo que está bien ir con undefined

over 4 years ago · Santiago Trujillo Denunciar

0

Todo depende de cómo defina su esquema para la API. Por ejemplo, si se usa Swagger para definir el esquema API (especificación), le permite especificar los campos obligatorios que deben estar presentes, dejando el resto de los campos opcionales. Por ejemplo, en el siguiente objeto de error, los campos de código y mensaje siempre deben ser devueltos por el servicio, ya que se definen como obligatorios. El cliente que usa este esquema siempre esperaría estos campos y programaría en consecuencia.

 schemas: # Schema for error response body Error: type: object properties: code: type: string message: type: string required: - code - message

Entonces, si el apellido se define como requerido en la especificación de su API, nunca permita que el usuario ingrese un valor en blanco en primer lugar. Pero en el caso de que el usuario NO pueda ingresar ningún valor en el campo apellido, defina su especificación de API. de una manera donde el apellido es opcional. Si el apellido es opcional, complete el campo en la respuesta cuando haya un valor presente; de lo contrario, no devuelva el campo en la respuesta.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda