【发布时间】:2023-03-31 14:15:01
【问题描述】:
有没有人成功地使用 Swagger 代码生成器创建了一个可以在浏览器中使用的 TypeScript Fetch 客户端?我正在尝试在使用 TypeScript 的 React 应用程序中使用生成的 API 客户端。
虽然我已经成功生成了一个客户端(即 api.ts 文件),但我对它以以下导入开始这一事实感到困惑:
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>; }
...
虽然我可以成功找到 isomorphic-fetch 和 core-js 的 TypeScript 类型(即@types),但我找不到 querystring 和 url 的类型。结果,我得到了[ts] Cannot find module... 用于querystring、url 以及assign 导入。
这个客户端实际上不打算在浏览器中使用吗?否则,任何人都可以就我在这里可能做错的事情提供任何建议吗?
提前感谢您的帮助!
【问题讨论】:
-
这里有一些针对 Typescript-Fetch Petstore 客户端的测试:github.com/swagger-api/swagger-codegen/tree/master/samples/…。这些会有帮助吗?
-
仅供参考:您还可以使用 NSwag(nswag.org,我是作者)从 swagger 文件中生成 TypeScript Fetch 客户端。它只导入预期的定义,即 whatwg-fetch
标签: typescript npm swagger swagger-codegen openapi