OpenApi Generator typescript-axios Sadece TypeScript Axios jeneratörü ile arayüzleri çıktı olarak verir
TypeScript ve Axios için OpenApi Generator kullanmaya başladım. Gerçekten çok iyi çalışıyor! Tek merak ettiğim şey, arayüzler yerine sınıfları nasıl üretebilirim?
Örneğin, typescript-node ile withInterfaces seçeneğini ayarladığımda tüm modelleri opsiyonel Arayüzlerle birlikte sınıflar olarak alıyorum. typescript-axios ile sadece arayüzleri alıyorum ... Bu oldukça sinir bozucu ... bana yardımcı olabilir mi biri?
Ben sürüm 1.0.12-4.3.0 kullanıyorum
Şimdiden teşekkürler, Andi
Cevap #1
Benim yaptığım şey, projemin kök dizininde openapi-templates klasörüne sahip olmam.
O zaman openapi-generator GitHub üzerinde geçersiz kılmak istediğiniz şablonu bulmanız gerekiyor.
Tam olarak ne kullandığınızdan emin değilim, bu yüzden bu kısım sizin için biraz farklı olabilir ama.. Ben openapi-generator-cli'nin docker sürümünü kullanıyorum ve fiziksel klasörümü (yani openapi-templates klasörünü koyduğum klasörü) docker içinde :/local olarak bağlıyorum. Sonra da jeneratöre herhangi bir şablon üzerine yazımını uygulaması gereken openapi-templates klasörüne bakmasını söylemek için -t /local/openapi-templates komut satırı seçeneğini kullanıyorum.
Sonraki adım olarak, o github bağlantısından modelGeneric.mustache dosyasını indirmeniz gerekiyor. Dosyayı openapi-templates klasörünün içine koyun ve değiştirin. Temel olarak interface anahtar kelimesini class anahtar kelimesi ile değiştirmeniz gerekiyor.
Artık jeneratörünüzü o ekstra komut satırı parametresiyle çalıştırın ve arayüzler yerine sınıflar üretmiş olmalısınız; ve TS'de sınıflar arayüzler gibi davranabildiğinden, gerçek bir dezavantaj yoktur.
Sadece şunu unutmayın: OpenAPI ekibi bu şablonları zaman zaman güncelliyor, bu yüzden şimdi özel olarak değiştirdiğiniz dosyaları sizin korumanız gerekebilir. Belki de her 6 ayda bir yeni bir varsayılan şablon çıkıp çıkmadığını kontrol edin ve özelleştirmelerinizi buna uygulayın.