gpt4 book ai didi

javascript - 从 Swagger 生成静态 Javascript 客户端以在 React Native 中使用

转载 作者:可可西里 更新时间:2023-11-01 02:48:39 25 4
gpt4 key购买 nike

我正在构建一个 React Native 应用程序,它将使用具有 Swagger 2.0 定义的 API。我去了 Swagger 的仓库 https://github.com/swagger-api/swagger-codegen#where-is-javascript它指向他们的 Javascript 生成器 https://github.com/swagger-api/swagger-js .

问题是生成器是动态的,因为我会将客户端嵌入到移动应用程序中,动态生成器不是一个选项。他们还说在https://github.com/wcandillon/swagger-js-codegen 有一个第三方项目可用。 ,表示该项目不再维护并指向 https://github.com/swagger-api/swagger-codegen . (虽然该第 3 方生成器有效,但我不想使用可能会随时中断的已弃用工具,因为我将在新端点到达时更新 API 客户端。而且该工具也不会生成非常好的代码,因为它在自己的 repo 协议(protocol)中说。)

此时我被卡住了。从 Swagger 定义生成用于 React Native 的静态 Javascript 客户端的受支持方式是什么?

最佳答案

您可以使用 Swagger Codegen生成一个javascript客户端sdk。但是,其中使用的 javascript 代码不适用于 React Native 的 fetch 实现。为了克服这个问题,您可以简单地扩展 ApiClient 的实现以使用 React Native 提取,例如:

class CustomApiClient extends ApiClient {


callApi(path, httpMethod, pathParams,queryParams,collectionQueryParams, headerParams, formParams, bodyParam,authNames, contentTypes, accepts,returnType, callback) {
return fetch(`${this.basePath}${path}`,
{
method: httpMethod
});
}
}

稍后在您的其他方法中使用它,例如

class CustomUsersApi extends UsersApi {

constructor() {
super(new CustomApiClient());
}
}

关于这方面的详细实现,可以引用博文https://medium.com/@lupugabriel/using-swagger-codegen-with-reactnative-4493d98cac15

关于javascript - 从 Swagger 生成静态 Javascript 客户端以在 React Native 中使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55482386/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com