npm 包 nswag 使用教程

阅读时长 4 分钟读完

简介

nswag 是一个 .NET Core 和 TypeScript/JavaScript 的代码生成器,可以非常简单的实现使用 C# Web API 动态生成 Swagger 规范文档,也可通过其命令行接口或者记事本文件(.nswag)的形式,生成客户端代码,例如 Angular 和 React。

安装

可以通过 npm 命令进行安装:

安装完成后,让我们来看看如何使用它。

生成客户端代码

我们可以使用 nswag 命令行来生成客户端代码:

其中,MyApiDefinition.json 是 API 定义 Swagger 文档,TypeScriptAngular2 是想要生成的客户端代码的类型,MyGeneratedCode.ts 是生成的客户端代码文件名。

这里我们以 Swagger 官方提供的在线演示用户 RESTful API为例,来生成 Angular 2 所需的客户端代码。

首先,我们需要将 Swagger 文档下载下来,使用命令行:

然后,我们就可以使用 nswag 命令来生成 Angular 2 的客户端代码:

在上面的命令中:

  • -t angular:告诉 nswag 生成 Angular 2 的代码。
  • -o generated/MyApiService.ts:告诉 nswag 将生成的代码保存到 generated/MyApiService.ts 文件中。

现在,我们已经获得了一个名为 MyApiService.ts 的文件,里面包含了 API 的所有操作。

对 Angular 应用进行配置

让我们进一步完善我们的项目。首先,我们需要安装 Angular CLI,以便我们可以使用 ng 命令快速地构建我们的应用程序:

然后,我们需要将刚才生成的 MyApiService.ts 文件复制到我们的项目中:

在这里,我们将服务放到一个单独的目录 src/app/swagger 中。

最后,我们需要在 Angular 应用程序中注入服务。在 app.module.ts 文件中添加:

-- -------------------- ---- -------
------ - ------------ - ---- -------------------------
------ - -------- - ---- ----------------
-
-----------
-------- -
-
--
------------- -
-
--
---------- -
------------
--
---------- --------------
--
------ ----- --------- - -

现在,我们已经可以通过 MyApiService 使用 API,以下是一个示例组件:

-- -------------------- ---- -------
------ - --------- - ---- ----------------
------ - ------------ - ---- --------------------------

------------
--------- -----------
------------ -----------------------
---------- -----------------------
--
------ ----- ------------ -

------------------- ---- ------------- - -

---------- -
------------------------------------------- ----- -
-----------------------
---
-
-

现在我们可以使用 ng serve 来启动我们的应用程序并尝试使用 API。

总结:使用 nswag 命令行非常容易地生成客户端代码。我们在这里使用了官方演示 API 来生成 Angular 2 的客户端代码,然后注入到我们的 Angular 应用中。

结语

愿本文对各位前端爱好者有所启发,让您能够理解 nswag 的基本用法和如何生成客户端代码,以及如何将它与 Angular 应用程序一起使用。如有问题或意见,请在评论区留言,我们会尽快回复您。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/80099

纠错
反馈