Can*_*ğlu 10 javascript swagger swagger-2.0 react-native swagger-codegen
我正在构建一个React Native应用,它将使用Swagger 2.0定义的API。我去了https://github.com/swagger-api/swagger-codegen#where-is-javascript的 Swagger仓库,它指向了https://github.com/swagger-api/swagger-js的Javascript生成器。
问题在于生成器是动态的,并且由于我将客户端嵌入到移动应用程序中,因此动态生成器不是一种选择。他们还说,https://github.com/wcandillon/swagger-js-codegen上有一个第三方项目,该项目不再维护,并指向https://github.com/swagger-。 api / swagger-codegen。(虽然该第三方生成器正常工作,但我不希望使用可能随时中断的弃用工具,因为当新端点到达时我将更新API客户端。而且该工具也不会生成任何真正好的代码,因为它在自己的仓库中说)。
在这一点上,我被困住了。从Swagger定义生成静态Javascript客户端以在React Native中使用的受支持方式是什么?
您可以使用Swagger Codegen生成 javascript 客户端 sdk。但是,其中使用的 javascript 代码不适用于 React Native 的 fetch 实现。为了克服这个问题,您可以简单地扩展实现ApiClient以使用 React Native fetch,如下所示:
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
});
}
}
Run Code Online (Sandbox Code Playgroud)
稍后在其他方法中使用它,例如
class CustomUsersApi extends UsersApi {
constructor() {
super(new CustomApiClient());
}
}
Run Code Online (Sandbox Code Playgroud)
有关详细实现,您可以参考博客文章https://medium.com/@lupugabriel/using-swagger-codegen-with-reactnative-4493d98cac15
| 归档时间: |
|
| 查看次数: |
1419 次 |
| 最近记录: |