当前位置:

05-Nacos-Feign-Gateway项目配置使用

访客 2024-04-23 1153 0

一、Nacos配置使用

使用Nacos最为服务注册中心

1、下载nacos,启动起来

下载好Nacos进入bin

启动NAcos


账号密码都是nacos

2、项目配置依赖

<!--服务注册--><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId></dependency>

3、springboot配置文件配置nacos地址

#nacos服务地址spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848

4、项目启动类上加上注解

//开启spring——cloud服务注册中心@EnableDiscoveryClient

4、启动项目就会被Nacos发现并注册

二、Fegin微服务接口调用

1、调用方与被调用方都导入Fegin依赖

<!--服务调用feign--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-openfeign</artifactId></dependency>

2、被调用方操作

编写我们的对外调用接口
@FeignClient(“service-cmn”)对外调用的微服务名字
接口访问路径写入完整的访问路径
eg:

@FeignClient("service-cmn")@RepositorypublicinterfaceDictFeignClient{@GetMapping("/admin/cmn/dict/getName/{dictCode}/{value}")ResultgetName(@PathVariable("dictCode")StringdictCode,@PathVariable("value")Stringvalue);@GetMapping("/admin/cmn/dict/getName/{value}")ResultgetName(@PathVariable("value")Stringvalue);}

3、调用方的操作

  1. 导入被调用方的模块依赖
  2. 注入接口即可使用
  3. 启动类配置注解,开启远程调用
  4. //开启远程调用,指定扫描包@EnableFeignClients(basePackages="com.atdk")

三、GateWay网关使用

1、创建网关模块

2、编写配置文件

#服务端口server.port=8888#服务名spring.application.name=service-gateway#nacos服务地址spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848#使用服务发现路由spring.cloud.gateway.discovery.locator.enabled=true#设置路由id(服务名字)spring.cloud.gateway.routes[0].id=service-hosp#设置路由的urispring.cloud.gateway.routes[0].uri=lb://service-hosp#设置路由断言,代理servicerId为auth-service的/auth/路径(路径匹配)spring.cloud.gateway.routes[0].predicates=Path=/*/hosp/**#设置路由idspring.cloud.gateway.routes[1].id=service-cmn#设置路由的urispring.cloud.gateway.routes[1].uri=lb://service-cmn#设置路由断言,代理servicerId为auth-service的/auth/路径spring.cloud.gateway.routes[1].predicates=Path=/*/cmn/**

3、配置跨域问题解决

//允许跨域配置类@ConfigurationpublicclassCorsConfig{@BeanpublicCorsWebFiltercorsFilter(){CorsConfigurationconfig=newCorsConfiguration();config.addAllowedMethod("*");config.addAllowedOrigin("*");config.addAllowedHeader("*");UrlBasedCorsConfigurationSourcesource=newUrlBasedCorsConfigurationSource(newPathPatternParser());source.registerCorsConfiguration("/**",config);returnnewCorsWebFilter(source);}}

发表评论

  • 评论列表
还没有人评论,快来抢沙发吧~