第一步:创建6个项目
前提:.net core 3.1
项目结构如下:
注意(全部是.net core api webapi项目)
第二步:实现web api的swagger管理
1.安装swashbuckle.aspnetcore项目(多个dll)
2.修改startup.cs文件
//配置swagger
//注册Swagger生成器,定义一个swagger文档
services.AddSwaggerGen(c =>
{
c.SwaggerDoc("v1", new OpenApiInfo
{
Version = "v1",
Title = "接口文档",
Description = "RESTful API"
});
// 为 Swagger 设置xml文档注释路径
var xmlFile = $"{Assembly.GetExecutingAssembly().GetName().Name}.xml";
var xmlPath = Path.Combine(AppContext.BaseDirectory, xmlFile);
c.IncludeXmlComments(xmlPath);
});
//启用中间件服务生成Swagger
app.UseSwagger();
//启用中间件服务生成SwaggerUI,指定Swagger JSON终结点
app.UseSwaggerUI(c =>
{
c.SwaggerEndpoint("/swagger/v1/swagger.json", "Web App Service1 v1");
c.RoutePrefix = string.Empty;//设置根节点访问
});
3.修改项目属性
最后修改下controller的route [Route("[controller]/[action]")]
4.效果
其他的webapi全部都是一样的
第三步:ocelot项目集合下游的API项目
1.在ocelotgateway项目安装
2.创建配置文件ocelot.json文件,注册服务
{
"Routes": [
{
"DownstreamPathTemplate": "/{controller}/{action}",
"DownstreamScheme": "http",
"LoadBalancerOptions": {
"Type": "LeastConnection"