En Apidog, después de enviar una petición dentro de un endpoint, Apidog valida automáticamente si la respuesta se ajusta al esquema según la especificación del endpoint.
Si los puntos anteriores son coherentes, se mostrará "Response Data Structure validated!". Esto significa que los valores reales devueltos por la API son coherentes con la especificación de la documentación de la API, lo que elimina la necesidad de verificación manual y mejora la eficiencia.
Cuando encuentre los avisos correspondientes a la derecha, puede seguirlos para resolver el problema.Generalmente hay dos tipos de problemas: el primero es cuando la respuesta del servidor es incorrecta, en cuyo caso se debe modificar el backend para alinearlo con la especificación; el segundo es cuando la especificación de la API es incorrecta, lo que requiere modificar la especificación del endpoint.Al utilizar la función de validación automática, puede eliminar la necesidad de escribir scripts manualmente para validar respuestas. Además, cuando haya cambios en la especificación de la API, la validación también se ajustará automáticamente en consecuencia.
De forma predeterminada, Apidog valida la primera respuesta del endpoint, normalmente una respuesta 200. Sin embargo, un endpoint puede devolver varias respuestas diferentes con distintos esquemas. En estos casos, puede elegir qué respuesta validar en la esquina superior derecha del área de validación.
También tiene la opción de desactivar la función "validate" haciendo clic en el interruptor situado delante de la respuesta. Este cambio solo se aplica al endpoint actual.
A medida que el negocio real evoluciona, pueden añadirse propiedades adicionales a la respuesta. En estos casos, Apidog permite a los usuarios determinar si se permiten campos adicionales.Por ejemplo, existe una API para consultar información de usuarios, y los campos devueltos anteriormente eran name y phone. Por lo tanto, la estructura de datos se especificaba así:
Con la actualización del negocio, se añadió un nuevo campo city a esta API, pero la especificación de la API no se actualizó. Según el mecanismo de validación predeterminado, no se informará de ningún error, lo que significa que añadir campos adicionales está permitido de forma predeterminada.
Sin embargo, para escenarios de desarrollo más estrictos, si el valor devuelto contiene campos adicionales que no coinciden con la definición, la validación de la respuesta también debería informar de un error. En este caso, puede lograr el comportamiento deseado siguiendo estos pasos:
1.
Modifique la respuesta en la especificación de la API. En la configuración avanzada del object, configure "additionalProperties" como "Deny", lo que solo surtirá efecto para la API actual.
2.
Si desea no permitir campos adicionales para todas las API del proyecto, puede ir a Settings → Response Validate Settings y desactivar Allow Objects to Have additionalProperties.
3.
Después de completar la configuración, al enviar la petición de nuevo, el mecanismo de validación de la respuesta informará de un error, indicando que no se permiten additionalProperties.
El interruptor "Validate Response" está activado de forma predeterminada, y puede ajustarlo en "Verification Response Settings" en la interfaz de configuración del proyecto. Esta configuración solo surte efecto para todas las API del proyecto actual y no afecta a los Endpoint Cases guardados.
Si solo requiere aserciones manuales o scripts posteriores y no necesita que Apidog valide la coherencia de la respuesta con la especificación de la API, puede deshabilitar la función de validación para módulos específicos.
La validación de la respuesta contiene "HTTP Status", "Header", "Body"; puede ajustarla en "Validate Response Content" en la configuración del proyecto. Esta configuración solo surte efecto para todas las API del proyecto actual y no afecta a los Endpoint Cases guardados.