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

微信小程序怎么制作音乐小程序/河北搜索引擎优化

微信小程序怎么制作音乐小程序,河北搜索引擎优化,跳转短链接生成,wordpress加主题请求聚合 当下游服务是返回404状态码,在返回结果中,其对应的值则为空值, 即使聚合路由中所有的下游服务都返回404状态码,聚合路由的返回结果也不会是404状态码。 Ocelot允许你声明聚合路由,这样你可以把多个正常的Ro…

请求聚合

在这里插入图片描述
当下游服务是返回404状态码,在返回结果中,其对应的值则为空值,

即使聚合路由中所有的下游服务都返回404状态码,聚合路由的返回结果也不会是404状态码。

Ocelot允许你声明聚合路由,这样你可以把多个正常的Routes打包并映射到一个对象来对客户端的请求进行响应。比如,你请求订单信息,订单中又包含商品信息,这里就设计到两个微服务,一个是商品服务,一个是订单服务。如果不运用聚合路由的话,对于一个订单信息,客户端可能需要请求两次服务端。实际上这会造成服务端额外的开销。这时候有了聚合路由后,你只需要请求一次聚合路由,然后聚合路由会合并订单跟商品的结果都一个对象中,并把这个对象响应给客户端。使用Ocelot的此特性可以让你很容易的实现前后端分离的架构。
为了实现Ocelot的请求功能,你需要在ocelot.json中进行如下的配置。这里我们指定了了两个正常的Routes,然后给每个Route设置一个Key属性。最后我们再Aggregates节点中的RouteKeys属性中加入我们刚刚指定的两个Key从而组成了两个Routes的聚合。当然我们还需要设置UpstreamPathTemplate匹配上游的用户请求,它的工作方式与正常的Route类似。

 public class Goods{public int Id { get; set; }public string Content { get; set; }}public class Orders{public int Id { get; set; }public string Content { get; set; }}

》》服务1

namespace OService1.Controllers
{[Route("api/[controller]")][ApiController]public class GoodController : ControllerBase{        [HttpGet("{id}")]public ActionResult<string> Get(int id){var item = new Goods{Id = id,Content = $"{id}的关联的商品明细",};return JsonConvert.SerializeObject(item);}}
}

》》服务2

namespace OService1.Controllers
{[Route("api/[controller]")][ApiController]public class OrderController : ControllerBase{        [HttpGet("{id}")]public ActionResult<string> Get(int id){var item = new Orders {Id=id,Content=$"{id}的订单明细",};return JsonConvert.SerializeObject(item);}}
}

》》配置
分三个文件配置

//ocelot.good.json
{"DownstreamPathTemplate": "/api/Good/{id}","DownstreamScheme": "http","DownstreamHostAndPorts": [{"Host": "localhost","Port": 1001}],"UpstreamPathTemplate": "/good/{id}","UpstreamHttpMethod": [ "Get", "Post" ],"Key": "Good","Priority": 2}
//ocelot.order.json
{"DownstreamPathTemplate": "/api/Order/{id}","DownstreamScheme": "http","DownstreamHostAndPorts": [{"Host": "localhost","Port": 1002}],"UpstreamPathTemplate": "/order/{id}","UpstreamHttpMethod": [ "Get", "Post" ],"Key": "Order","Priority": 2}
// ocelot.all.json"Aggregates": [{"RouteKeys": ["Good","Order"],"UpstreamPathTemplate": "/GetOrderDetail/{id}"}]

或者放在一个配置文件

{"Routes": [//路由一{"DownstreamPathTemplate": "/api/Good/{id}", //下游路径"DownstreamScheme": "https", //http,https"DownstreamHostAndPorts": [{"Host": "localhost", //下游地址"Port": 1001//下游端口}],"UpstreamPathTemplate": "/good/{id}", //上游路径"UpstreamHttpMethod": [ "Get" ],"Key": "Good"},//路由二{"DownstreamPathTemplate": "/api/Order/{id}","DownstreamScheme": "https","DownstreamHostAndPorts": [{"Host": "localhost","Port": 1002}],"UpstreamPathTemplate": "/order/{id}","UpstreamHttpMethod": [ "Get" ],"Key": "Order"}],"Aggregates": [{"RouteKeys": ["Good","Order"],"UpstreamPathTemplate": "/GetOrderDetail/{id}"}],"GlobalConfiguration": {"BaseUrl": "https://localhost:1000"}
}

在这里插入图片描述
Ocelot将始终使用聚合请求返回内容类型application/json。还有需要注意的是聚合请求不会返回404请求。
如果两个下游都返回404状态码的话,这里聚合后的响应也不会返回404,
只会返回空的json串,拿上面的实例,如果两个下游都返回404的话,那么他的响应代码类似下面这样:

{"Good": ,"Order":
}
http://www.whsansanxincailiao.cn/news/32026926.html

相关文章:

  • 网站建设ppt模板/软文营销的优势
  • 设计网站推荐什么主题/网络推广免费网站
  • 长葛网站建设公司/百度极速版推广员怎么申请
  • 深圳做网站企业/关键词在线听
  • 自适应网站主要用什么做/提升seo排名
  • 天津网站制作建设/免费注册域名网站
  • 淘宝导购网站模板/公司网站建设公司好
  • 门户网站开发视频/搜索引擎优化的简称
  • 百度博客网站模板/网络营销的方法
  • 模板下载后怎么使用/百度seo优化收费标准
  • 公司网站建设哪家快/全国教育培训机构平台
  • 网站开发深圳/合肥seo管理
  • 回忆网站模板/如何优化推广网站
  • 南宁市网站/免费的网络推广平台
  • 挂机宝可以做网站吗/seo关键词是什么意思
  • 网站备案审核过规定时间了/抖音seo点击软件排名
  • 山东网站建设公司排名/百度seo排名360
  • 兴远建设网站/百度一下官网
  • 北京学会网站建设/国际新闻头条最新消息
  • 小企业网站建设怎么做好/信息发布
  • 主题资源网站建设步骤/自己在家怎么做电商
  • 微信小程序开发工具pc6/seo必备工具
  • 网站服务费做啥费用/seo怎么优化网站排名
  • 国内外优秀设计网站/识万物扫一扫
  • dede 网站地图 模块/企业网络营销方案策划
  • 天津网站推广外包/竞价排名营销
  • 双十一网站怎么做/推广竞价账户托管
  • 自助下单网站咋做/网站制作平台
  • 电脑课做网站的作业/南昌seo技术外包
  • 云南建设厅网站 安全员/厦门seo关键词