Fors-Codegen benutzerdefinierte Einstellungen
Ich bin mit swagger-codegen
für die Erstellung meiner client-side C# - Klassen. Es macht den job, aber es gibt ein paar Dinge, die ich gerne anpassen:
1) am wichtigsten ist, wie sage ich es dem namespace, oder vielleicht base-namespace verwenden? Jetzt alle genned Klassen haben IO.Swagger.Model
namespace, wie kann ich das ändern?
2) Alle meine generierten Modelle beginnen mit I... wie in ICustomer... gibt es eine Möglichkeit, autostrip, dass zuerst ich, wenn der name der Klasse beginnt mit 2 Kappen, und der erste Buchstabe ist ein I?
3) Wenn 2 getan werden kann, ist es ein Weg, um es Anhängen : IWhatever
? Also, wenn es versucht, gen ICustomer
würde ich gerne sehen:
public class Customer : ICustomer
Kann das getan werden?
4) Für meine Letzte Frage, ich bin mit diesem command-line:
java -jar swagger-codegen-cli.jar generate
-i http://localhost:57772/MyService/swagger/v1/swagger.json
-l csharp -o C:/Code/AutoGenned/MyService
Das problem ist, dass es fügt hier den Pfad:
src\main\csharp\IO\Swagger
Gibt es eine Möglichkeit für mich, nicht diese Hinzugefügt, um den Pfad?
5) Schließlich, zuletzt, it-gens 4 Ordner: Api
, Client
, Model
, und Properties
. Gibt es eine Möglichkeit, nur gen die Client
und die Model
Ordner?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Basiert immer auf eine Antwort von
swagger-codegen
team und versuchen, Sachen auf meinem eigenen:1) Zum fixieren der namespace, ich hatte zum erstellen einer
config.json
- Datei, die im Grunde so aus:nun meine run-Befehl ist
2), nicht ersetzen Können, aber ich kann prepend... also anstatt eine Klasse mit dem Namen
ICustomer
ich beschlossen, dassApiICustomer
mehr Sinn... also den oben genannten Befehl habe ich noch3) Noch nicht sicher, ob/wie das möglich ist.
4) Sieht aus wie eine neue änderung kommen unten das Rohr, das wird sich ändern, wie das funktioniert. https://github.com/swagger-api/swagger-codegen/issues/2837
5) Basierend auf die Infos hier: https://github.com/swagger-api/swagger-codegen#selective-generation Sie können es durch hinzufügen
java
system-Eigenschaften, wie diesjava -Dwhateverproperty
. So stehen am Ende, nicht einschließlich alle Updates für #3:Für Punkt 1), die neben der Verwendung einer config-Datei (
-c config.json
),können Sie auch die option, direkt:
-DpackageName=My.Namespace.Whatever