2016-11-12 3 views
2

Hat jemand erfolgreich den Swagger Code Generator verwendet, um einen TypeScript Fetch Client zu erstellen, der im Browser verwendet werden kann? Ich versuche, den generierten API-Client in einer React-Anwendung zu verwenden, die TypeScript verwendet.Verwendung von Swagger Codegen TypeScript Fetch Client

Obwohl ich erfolgreich einen Client (dh der api.ts-Datei) erzeugt, ich bin immer auf der Tatsache, aufgehängt, dass es mit den folgenden Importen beginnt:

import * as querystring from "querystring"; 
import * as url from "url"; 

import * as isomorphicFetch from "isomorphic-fetch"; 
import * as assign from "core-js/library/fn/object/assign"; 

interface Dictionary<T> { [index: string]: T; } 
export interface FetchAPI { (url: string, init?: any): Promise<any>; } 

... 

Während ich erfolgreich finden die TypeScript-Typings (dh @types) für isomorphic-fetch und core-js, ich kann keine Typings für Querystring und URL finden. Als Ergebnis bekomme ich [ts] Cannot find module... für die querystring, url und auch die assign Importe.

Ist dieser Client eigentlich nicht für die Verwendung im Browser gedacht? Kann mir sonst jemand Vorschläge machen, was ich hier falsch mache?

Vielen Dank im Voraus für jede Hilfe!

+0

Hier sind einige Tests für den Typescript-Fetch Petstore-Client: https://github.com/swagger-api/swagger-codegen/tree/master/samples/client/petstore/typescript-fetch/tests/default/test. Würden diese helfen? –

+0

Nur zur Info: Sie können auch einen TypeScript Fetch-Client aus einer Swagger-Datei mit NSwag generieren (http://nswag.org, ich bin der Autor). Es importiert nur die erwarteten Definitionen, d. H. Whatwg-fetch –

Antwort

1

Danke für den Link, wing328, der mich am Ende den Weg zur 'TypeScript Fetch'-spezifischen Readme genommen hat. Insbesondere dieser Abschnitt hier: https://github.com/swagger-api/swagger-codegen/tree/master/samples/client/petstore/typescript-fetch/builds/es6-target#installation expalins, dass der Swagger Code Generator JavaScript nicht direkt erstellt - Sie müssen npm install oder "npm veröffentlichen" ausführen. Sie werden dann in der Lage sein, die JavaScript-basierte API und die zugehörigen Typisierungen im Ordner "dist" zu finden.

Verwandte Themen