私はAngular 2とTypeScriptを使ってMeteor Webアプリケーションを開発しています。 REST APIを使用するために、Swagger Codegenを使用してクライアントコードを生成しました。残念ながら、GitHubにサンプルがありません。残りのクライアントを使用する方法はありません。生成されたSwagger TypeScript RestクライアントをAngular2で使用する
Iは、角2サービス(ProductTreeService)を注入された角度の2ビューコンポーネントと生成されたAPI(両方とも「@Injectable」としてマーク)を有する:角度サービスのみアクセス可能であるが
@Component({
selector: 'panel-product-selection',
template,
providers: [ProductTreeService, UserApi],
directives: [ProductTreeComponent]
})
export class PanelProductSelectionComponent
{
private categoriesProductsTree: Collections.LinkedList<CategoryTreeElement>;
private productTreeService: ProductTreeService;
private userApi: UserApi;
constructor(productTreeService: ProductTreeService, userApi: UserApi)
{
this.productTreeService = productTreeService;
this.userApi = userApi;
}
ngOnInit(): void
{
//...
}
}
およびすべて正常に動作している、私はUserApiを注入すると、アプリケーションがクラッシュしている。 UserApiとProductTreeService間の唯一の違いは、コンストラクタである:サービスは、コンストラクタのパラメータを持っていない、生成されたApi classがあります
constructor(protected http: Http, @Optional()@Inject(BASE_PATH) basePath: string) {
if (basePath) {
this.basePath = basePath;
}
}
それでは、どのように私は、生成されたAPIを注入することができますか?
生成されたコードの一部を含めることはできますか? UserApiは、提供されたサンプルだけではありませんか?リンクしたコードはプロジェクトに含めることを目的としたものではなく、生成されたコードのサンプルです。 – Martin
Swagger Codegenによって生成されたTypescript-angular2 APIクライアント(https://github.com/taxpon/ng2-swagger-example)を使用した例を次に示します。これは役に立ちますか? –