Nswag基于多个接口程序生成

Nswag 介绍

NSwag是一个Swagger 2.0 API(OpenAPI)工具链,用于.NET,Web API,TypeScript(jQuery,AngularJS,Angular 2 +,Aurelia,KnockoutJS等)和其他平台,用C#编写。Swagger规范使用JSON和JSON Schema来描述RESTful Web API。NSwag项目提供了从现有ASP.NET Web API控制器生成Swagger规范的工具以及这些Swagger规范中的客户端代码。
可以根据Swagger说明页上的swagger.json文件生成C#、TypeScript客户端代码。

Nswag 前言

本文只是针对微服架构以及多服务程序,用Nswag在同一个Angular前端程序中生成多个接口请求代码文档。主要是在同一个前端中继承多个接口程序。想了解如和在程序中使用nswag,请参考官方https://github.com/RicoSuter/NSwag

快速实践

修改Nswag配置

基于现有的Nswag 配置,只需按以下步骤配置就行了。

对每个接口服务都建一个service.config.[接口服务名].nswag。

service.config.[接口服务名].nswag 内容基本一样,需要修改地方如下:

Swagger.json 地址改成对应的地址。

codeGenerators节点下ClassName
注意加上接口服务名称的前缀,以便调用的时候区分。

codeGenerators节点下baseUrlTokenValue,以便后面配置多服务路由使用

codeGenerators节点下output,本节点是生成的代码文件保存地址,只要修改最后文件名,格式为*[接口服务名]-service-proxies.ts*

以上修改完成之后执行Nswag命令 ,可见执行了两个Nswag文件

最后在service-proxy.module.ts文件中引入注册就能用了

配置多接口路由

前面配置完成之后,虽然可以成功生成请求接口的代码,但是想要在同一个前端程序中请求来至不同端口域名下的接口地址,那么就需要再配置多路由。

首先在appconfig.json ,针对每个服务接口顶一个baseUrl,如下图所示

接下来就是在AppConsts.ts中定义路由常量,然后在AppPreBootstrap.ts中给常量赋值,如下图所示

最后就是在root.module中配置providers节点,如下图所示


 上一篇
容器化之后如何节省云端成本?(二十六) 容器化之后如何节省云端成本?(二十六)
如何节约云端成本? 上云在大部分情况下就是为了降低成本,在这方面,主流的容器服务基本上都能够有效地降低成本——不仅能够高效自动化的管理和控制容器,而且不需支付Kubernetes 主节点的费用。不过,我们还可以在此基础上进一步节约成本,这
下一篇 
Docker+ Kubernetes已成为云计算的主流(二十五) Docker+ Kubernetes已成为云计算的主流(二十五)
Docker+ Kubernetes已成为云计算的主流(二十五)前言最近正在抽时间编写k8s的相关教程,很是费时,等相关内容初步完成后,再和大家分享。对于k8s,还是上云更为简单、稳定并且节省成本,因此我们需要对主流云服务的容器服务进行了解
  目录