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

微服务项目,请求从发出到后端处理器的历程

在这里插入图片描述
点击登录按钮,发出

http://localhost:8803/service_6001/admin/login/in

请求,这是一个由nginx配置的前端项目
查看配置文件,该条请求会被映射形成对http://localhost:51603/admin/login/in的post请求

upstream heima-admin-gateway
{server localhost:51603;
}
server {listen 8803;server_name 127.0.0.1;location / {root F:\\BaiduNetdiskDownload\\heima-leadnews\\admin-web;index index.html;}location ~/service_6001/(.*){proxy_pass http://heima-admin-gateway/$1;proxy_set_header HOST $host;proxy_pass_request_body on;proxy_pass_request_headers on;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $Proxy_add_x_forwarded_for;}
}

而localhost:51603地址开启了一个网关服务
查看网关服务的配置文件

spring:cloud:gateway:globalcors:cors-configurations:'[/**]': # 匹配所有请求allowedOrigins: "*" #跨域处理 允许所有的域allowedMethods: # 支持的方法- GET- POST- PUT- DELETEroutes:# 平台管理- id: adminuri: lb://leadnews-adminpredicates:- Path=/admin/**filters:- StripPrefix= 1- id: useruri: lb://leadnews-userpredicates:- Path=/user/**filters:- StripPrefix= 1# 自媒体- id: wemediauri: lb://leadnews-wemediapredicates:- Path=/wemedia/**filters:- StripPrefix= 1

通过网关请求地址变成了http://leadnews-admin/login/in,
发送spring.application.name=leadnews-admin的项目的
/login/in的请求处理器中进行处理

微服务leadnews-admin加入nacos-discovery的dependency,在启动类上加载@EnableDiscoveryClient
注册到nacos的服务发现中心,

服务注册依赖

        <dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId></dependency>

ps:
请求进入到网关但是没有进入到微服务:

  • 服务是否允许被发现
  • 网关配置服务名是否与服务中心想要的一样
  • 关于post请求,处理器使用了@RequestBody AdUserDTO dto,时要注意请求体的json文件键是否与类对象中的成员变量相匹配
    如果请求体为
{
"name":"guest",
"password":"guest"
}

而AdUserDTO的成员为

private String username;
private String password;

则这条请求不会进入此处理器

  • 测试请求是否进入到微服务可以增加一个拦截所有请求的拦截器,进行断点调试
http://www.lryc.cn/news/222027.html

相关文章:

  • pandas教程:String Manipulation 字符串处理和正则表达式re
  • Apache Doris 是什么
  • 【NeurIPS 2020】基于蒙特卡罗树搜索的黑箱优化学习搜索空间划分
  • 面试题:线上MySQL的自增id用尽怎么办?
  • Java集合框架:Collection 与 Map 接口深度解析
  • qt多线程例子,不断输出数字
  • 基于厨师算法的无人机航迹规划-附代码
  • 设计模式的六大原则
  • 原文远知行COO张力加盟逐际动力 自动驾驶进入视觉时代?
  • 【公益案例展】火山引擎公益电子票据服务——连接善意,共创美好
  • postman中文乱码
  • 设计模式简要介绍
  • LeetCode-232. 用栈实现队列(C++)
  • 无人机红外相机的畸变矫正
  • C++编程案例讲解-基于结构体的控制台通讯录管理系统
  • ASP.NETCore6开启文件服务允许通过url访问附件(图片)
  • python爬取Web of science论文信息
  • 本地域名 127.0.0.1 / localhost
  • Python —— 不同类型的数据长度计算方式
  • NowCoder | 环形链表的约瑟夫问题
  • 华为政企数据中心网络交换机产品集
  • 多门店自助点餐+外卖二合一小程序源码系统 带完整搭建教程
  • kafka可视化工具
  • Excel 转 Json 、Node.js实现(应用场景:i18n国际化)
  • Redis7--基础篇2(Redis的十大数据类型及常用命令)
  • 1.HTML中网页介绍
  • 执行sql报错only_full_group_by的解决方法
  • 不学51直接学stm32可以吗?学stm32需要哪些基础?
  • 6.1二叉树的递归遍历(LC144,LC15,LC94)
  • Spring基础(3):复习