Skip to content

saman-barakat/BoxIDL

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AISS Workshop / Taller de AISS

Exercise description

The objective of this exercise is to implement validation code that verifies if the dependencies among input parameters of an API operation are fulfilled. If the dependencies are not met, an error will be returned. You will work on a template project generated from the OpenAPI Specification (OAS) of the Box API ("folders/{folder_id}/items" operation). The screenshot below shows a fragment of the API documentation highlighting the dependencies between parameters.

image image image image

IDL:

 IF marker THEN usemarker==true;
 IF usemarker==true AND folder_id==0 THEN NOT sort;
 ZeroOrOne(usemarker==true, offset);

Instructions:

  • Step 0: Clone/download the project and open it in IntelliJ.

  • Step 1: Open the Java interface “FoldersApi“ located in the package “org.openapitools.api”. Check the code and make sure that you understand it. Ask for clarifications if needed.

  • Step 2: Make sure you understand the inter-parameter dependencies that you must implement, highlighted in the screenshot shown above. Ask the teacher if you have any questions.

  • Step 3: Before you start coding, add the start time in the “Start time” comment section.

  • Step 4: Add the validation code for the highlighted dependencies under the “Add validation code here” comment section. Each validation block should return a 400 HTTP status code with a simple error message. Example: If a document requires that p1 must be greater than p2, then a possible validation code could be as follows:

    if (! (p1 > p2) )
       return new ResponseEntity("p1 must be greater than p2", HttpStatus.BAD_REQUEST);
    
  • Step 5: Test your code using a client like Postman or the interactive documentation generated by Swagger (available at http://localhost:8083/swagger-ui/index.html). Remember the application is listening in port 8083.

  • Step 6: Once you implement and test the validation code for all the dependencies, indicate the end time at the "End time" comment section.

  • Step 7: Save the project as a zip file and submit it through the virtual platform following the instructions provided by the teacher.

Descripción del ejercicio

El objetivo de este ejercicio es implementar código de validación que verifique si se cumplen las dependencias entre los parámetros de entrada de una operación de API. Si las dependencias no se cumplen, se devolverá un error. Trabajarás en un proyecto de plantilla generado a partir de la especificación OpenAPI (OAS) de la API de Box (operación "folders/{folder_id}/items"). La captura de pantalla de abajo muestra un fragmento de la documentación de la API resaltando las dependencias entre los parámetros.

image image image image

IDL:

 IF marker THEN usemarker==true;
 IF usemarker==true AND folder_id==0 THEN NOT sort;
 ZeroOrOne(usemarker==true, offset);

Instrucciones:

  • Step 0: Clona/descarga el proyecto y ábrelo en IntelliJ.

  • Step 1: Abre la interfaz Java “FoldersApi“ ubicada en el paquete "org.openapitools.api". Revisa el código y asegúrate de entenderlo. Pregunta al profesor en caso de dudas.

  • Step 2: Asegúrate de entender las dependencias entre parámetros que se deben implementar, resaltadas en la captura de pantalla mostrada arriba. Pregunta al profesor si tienes dudas.

  • Step 3: Antes de empezar a programar, añade la hora de inicio en la sección de comentarios “Start time”.

  • Step 4: Añade el código de validación para las dependencias resaltadas en la sección de comentarios “Add validation code here”. Cada bloque de validación debe devolver un código de estado HTTP 400 con un mensaje de error simple. Ejemplo: Si un documento requiere que p1 debe ser mayor que p2, entonces un posible código de validación podría ser el siguiente:

    if (! (p1 > p2) )
       return new ResponseEntity("p1 must be greater than p2", HttpStatus.BAD_REQUEST);
    
  • Step 5: Prueba el código usando un cliente como Postman o la documentación interactiva generada por Swagger (disponible en (http://localhost:8083/swagger-ui/index.html). Recuerda que la aplicación está funcionando en el puerto 8083.

  • Step 6: Una vez implementado y probado el código de validación para todas las dependencias, indica la hora de finalización en la sección de comentarios "End time".

  • Step 7: Guarda el proyecto como un archivo zip y envialo a través de la plataforma virtual siguiendo las instrucciones proporcionadas por el profesor.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages