swagger-codegen, wenn Sie eine API in einem bestimmten Format definieren, Es spuckt eine Bibliothek aus, um sie in verschiedenen Sprachen zu treffen.
Es passt gut zu Rails 'Grape, und wenn ich versuche, einen API-Server zu treffen, der mit Rails aus Python erstellt wurde, ist dies das Hauptthema.
Wie Sie sehen können, indem Sie den Code von swagger-codegen lesen, Beim Erstellen einer Datei sollte der Dateiname "api_v1_name" sein, er wird jedoch als "api :: v1 :: name" generiert, und der Dateiname und der Pfad werden vom Importnetz gut angegeben. Ist nicht ... Daher erhalte ich einen Importfehler. Es ist ein kleiner Fehler, daher denke ich, dass er bald behoben sein wird, aber ich möchte sofort kommunizieren können.
Überschreiben wir also die Funktion und lösen sie. In Bezug auf das Überschreiben war "So einfach! Swagger Codegen anpassen" sehr hilfreich.
custom-script.groovy
@Grab('io.swagger:swagger-codegen-cli:2.1.4')
import io.swagger.codegen.*;
import io.swagger.codegen.languages.*;
class MyPythonClientGen extends PythonClientCodegen {
@Override
public String toModelFilename(String name){
return toVarName(name)
}
//Kick to CLI
public static main(String[] args) {
SwaggerCodegen.main(args)
}
}
groovy custom-script.groovy generate -i http://example.com/api/v1/swagger_doc -l MyPythonClientGen -o ./api/
mit diesem, Dateien werden jetzt mit "api_v1_name" anstelle des Namens "api :: v1 :: name" generiert. Wenn Sie es als störend empfinden, können Sie die Datei manuell umbenennen.
Recommended Posts