Saltar a contenido

47. Swagger para cliente y servidor REST API

47.1 Introducción

OpenAPI 3 Ejemplo de editor swagger (Utilizar el video para ver los pasos )

Ejemplo de generación y uso

Usamos el cliente

https://help.vertafore.com/devportal/content/howto/usingjavaclient.htm

Revisar

47.1.1 Swagger codegen

doc y el codigo en github

Una forma de empezar a utilizar codegen es bajar el .jar:

wget https://oss.sonatype.org/content/repositories/releases/io/swagger/swagger-codegen-cli/2.2.1/swagger-codegen-cli-2.2.1.jar

47.1.1.1 Uso de codegen

Para obtener ayuda y lenguajes soportados:

java -jar swagger-codegen-cli.jar -h
java -jar swagger-codegen-cli.jar langs

Generar codigo

java -jar swagger-codegen-cli-2.2.1.jar generate -i <path of your Swagger specification> -l <language> -o dir ` Example:

java -jar swagger-codegen-cli-2.2.1.jar generate -i http://petstore.swagger.io/v2/swagger.json -l python -o sample/petstore/python

Opciones: -i url para el api.
-l lenguaje de salida
-o directorio de salida.

Resumen del comando:

 swagger-codegen-cli generate
                [(-a <authorization> | --auth <authorization>)]
                [--additional-properties <additional properties>...]
                [--api-package <api package>] [--artifact-id <artifact id>]
                [--artifact-version <artifact version>]
                [(-c <configuration file> | --config <configuration file>)]
                [-D <system properties>...] [--git-repo-id <git repo id>]
                [--git-user-id <git user id>] [--group-id <group id>]
                [--http-user-agent <http user agent>]
                (-i <spec file> | --input-spec <spec file>)
                [--ignore-file-override <ignore file override location>]
                [--import-mappings <import mappings>...]
                [--instantiation-types <instantiation types>...]
                [--invoker-package <invoker package>]
                (-l <language> | --lang <language>)
                [--language-specific-primitives <language specific primitives>...]
                [--library <library>] [--model-name-prefix <model name prefix>]
                [--model-name-suffix <model name suffix>]
                [--model-package <model package>]
                [(-o <output directory> | --output <output directory>)]
                [--release-note <release note>] [--remove-operation-id-prefix]
                [--reserved-words-mappings <reserved word mappings>...]
                [(-s | --skip-overwrite)]
                [(-t <template directory> | --template-dir <template directory>)]
                [--type-mappings <type mappings>...] [(-v | --verbose)]
OPTIONS
        -a <authorization>, --auth <authorization>
            adds authorization headers when fetching the swagger definitions
            remotely. Pass in a URL-encoded string of name:header with a comma
            separating multiple values

...... (results omitted)

        -v, --verbose

47.2 Uso del cliente generado por codegen