当前位置: 首页 > wzjs >正文

手机上可建网站做淘宝客吗企业培训机构哪家最好

手机上可建网站做淘宝客吗,企业培训机构哪家最好,广州做外贸网站建设,官方网站链接如何做搭建3个项目,分别是OcelotDemo、ServerApi1和ServerApi2这3个项目。访问都是通过OcelotDemo进行轮训转发。 代码案例链接:https://download.csdn.net/download/ly1h1/90715035 1.架构图 2.解决方案结构 3.步骤一,添加Nuget包 4.步骤二&…

搭建3个项目,分别是OcelotDemo、ServerApi1和ServerApi2这3个项目。访问都是通过OcelotDemo进行轮训转发。

代码案例链接:https://download.csdn.net/download/ly1h1/90715035

1.架构图

 2.解决方案结构

3.步骤一,添加Nuget包

4.步骤二,配置ocelot.json

{"Routes": [{"DownstreamPathTemplate": "/api/values/{action}","DownstreamScheme": "http","DownstreamHostAndPorts": [{"Host": "localhost","Port": 5000}, // ServerAPI1{"Host": "localhost","Port": 8016} // ServerAPI2],"UpstreamPathTemplate": "/balanced-api/values/{action}","UpstreamHttpMethod": [ "GET", "POST" ],"LoadBalancerOptions": {"Type": "RoundRobin" // 轮询策略}}],"GlobalConfiguration": {"BaseUrl": "http://localhost:8080"}
}

5.编写OcelotDemo的Program

using Ocelot.DependencyInjection;
using Ocelot.Middleware;var builder = WebApplication.CreateBuilder(args);
builder.Configuration.AddJsonFile("ocelot.json", optional: false, reloadOnChange: true);
builder.Services.AddOcelot(builder.Configuration);var app = builder.Build();
if (app.Environment.IsDevelopment())
{app.UseDeveloperExceptionPage();
}
await app.UseOcelot();
app.Run("http://localhost:8080");

5.步骤三,编写ServerApi1的接口

using Microsoft.AspNetCore.Mvc;
using ServerAPI1.Models;namespace ServerAPI1.Controllers
{[ApiController][Route("api/[controller]")][Produces("application/json")]public class ValuesController : ControllerBase{/// <summary>/// 获取服务基本信息/// </summary>[HttpGet("info")][ProducesResponseType(200)]public IActionResult GetInfo(){return Ok(new { Service = "ServerAPI1", Port = 5000 });}/// <summary>/// 计算服务 (A+B)/// </summary>/// <param name="model">输入参数</param>[HttpPost("calculate")][ProducesResponseType(200)][ProducesResponseType(400)]public IActionResult Calculate([FromBody] TestModel model){if (!ModelState.IsValid) return BadRequest(ModelState);return Ok(new { Result = 123 + 321, Input = model });}}
}---------------------------
using System.ComponentModel.DataAnnotations;namespace ServerAPI1.Models
{public class TestModel{[Required][StringLength(100)]public string AAA { get; set; }[StringLength(200)]public string BBB { get; set; }}
}

6.步骤四,编写ServerApi1的Program

var builder = WebApplication.CreateBuilder(args);// 添加Swagger
builder.Services.AddEndpointsApiExplorer();
builder.Services.AddSwaggerGen(c =>
{c.SwaggerDoc("v1", new() { Title = "ServerAPI1", Version = "v1" });
});builder.Services.AddControllers();
var app = builder.Build();// 配置Swagger
if (app.Environment.IsDevelopment())
{app.UseSwagger();app.UseSwaggerUI(c => c.SwaggerEndpoint("/swagger/v1/swagger.json", "ServerAPI1 v1"));
}app.UseRouting();
app.MapControllers();
app.Run("http://localhost:5000");

步骤五,编写Server2的接口

using Microsoft.AspNetCore.Mvc;
using ServerAPI2.Models;namespace ServerAPI2.Controllers
{[ApiController][Route("api/[controller]")][Produces("application/json")]public class ValuesController : ControllerBase{/// <summary>/// 获取服务元数据/// </summary>[HttpGet("info")][ProducesResponseType(200)]public IActionResult GetInfo(){return Ok(new { Service = "ServerAPI2", Port = 8016 });}/// <summary>/// 字符串转换服务/// </summary>/// <param name="model">输入参数</param>[HttpPost("calculate")][ProducesResponseType(200)][ProducesResponseType(400)]public IActionResult Transform([FromBody] TestModel model){if (!ModelState.IsValid) return BadRequest(ModelState);return Ok(new { Result = $"{model.AAA}-{model.BBB}".ToUpper() });}}
}
----------------------------
using System.ComponentModel.DataAnnotations;namespace ServerAPI2.Models
{public class TestModel{[Required][StringLength(100)]public string AAA { get; set; }[StringLength(200)]public string BBB { get; set; }}
}

7.步骤六,编写ServerAPI2的Program

var builder = WebApplication.CreateBuilder(args);// 添加Swagger
builder.Services.AddEndpointsApiExplorer();
builder.Services.AddSwaggerGen(c =>
{c.SwaggerDoc("v1", new() { Title = "ServerAPI2", Version = "v1" });
});builder.Services.AddControllers();
var app = builder.Build();// 配置Swagger
if (app.Environment.IsDevelopment())
{app.UseSwagger();app.UseSwaggerUI(c => c.SwaggerEndpoint("/swagger/v1/swagger.json", "ServerAPI2 v1"));
}app.UseRouting();
app.MapControllers();
app.Run("http://localhost:8016");

8.测试

采用PostMan直接访问http://localhost:8080/balanced-api/values/info

可实现Server1和Server2的轮询调用。

9.如果需要网关地址和服务是一对一

{"Routes": [{"DownstreamPathTemplate": "/api/values/{action}","DownstreamScheme": "http","DownstreamHostAndPorts": [{"Host": "localhost","Port": 5000}],"UpstreamPathTemplate": "/service1/api/values/{action}","UpstreamHttpMethod": [ "GET", "POST" ]},{"DownstreamPathTemplate": "/api/values/{action}","DownstreamScheme": "http","DownstreamHostAndPorts": [{"Host": "localhost","Port": 8016}],"UpstreamPathTemplate": "/service2/api/values/{action}","UpstreamHttpMethod": [ "GET", "POST" ]}],"GlobalConfiguration": {"BaseUrl": "http://localhost:8080"}
}

http://www.dtcms.com/wzjs/88889.html

相关文章:

  • 做电影类网站收入怎么样天津百度快照优化公司
  • 唐山网站建设zzvg百度问答优化
  • 怎么做网站搜索引擎优化淘宝关键词搜索排名
  • 网站设计技术有哪些seo服务商技术好的公司
  • 南宁市政府网站集约化建设项目网络科技公司经营范围
  • 网站建设下拉导航栏百度的营销中心上班怎么样
  • 怎么做物流网站代理b站官方推广
  • 网站优化 工具国外搜索引擎网站
  • 做国际网站怎么做网址大全是ie浏览器吗
  • 东莞网站建设seo精准营销及推广
  • 怎样做吓人网站宁波seo关键词培训
  • 专业的美容网站建设淘宝店铺怎么免费推广
  • 南京企业网站设计公司谷歌推广真有效果吗
  • 超链接 网站网络营销策略分析案例
  • 义乌批发市场进货网搜索引擎排名优化是什么意思
  • 网站跳出创建网站的基本步骤
  • 做网络推广的多少钱一个月网站优化外包
  • 专门做简历的网站有哪些直通车关键词怎么选 选几个
  • wordpress制作数据排行榜seo网站页面优化包含
  • 博山区住房和城乡建设局网站杭州网站优化公司
  • 做外贸女装有哪些网站有哪些今日头条官网首页
  • 铜川网站建设网络营销推广方式包括哪几种
  • 南城网站建设公司阿里云域名
  • 企业网站建设流程图百度问问我要提问
  • 建立品牌网站的成人教育培训机构
  • 个人帮企业做网站西安百度推广竞价托管
  • 网站去哪做如何做好网络营销
  • 徐州微网站开发公司怎样宣传自己的产品
  • 公司网站如何备案域名检测查询
  • 电商平面设计师百度seo关键词排名技术