05-Nacos-Feign-Gateway项目配置使用
Posted 型男一枚
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了05-Nacos-Feign-Gateway项目配置使用相关的知识,希望对你有一定的参考价值。
一、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")
@Repository
public interface DictFeignClient {
@GetMapping("/admin/cmn/dict/getName/{dictCode}/{value}")
Result getName(@PathVariable("dictCode") String dictCode,
@PathVariable("value") String value);
@GetMapping("/admin/cmn/dict/getName/{value}")
Result getName(@PathVariable("value") String value);
}
3、调用方的操作
- 导入被调用方的模块依赖
- 注入接口即可使用
- 启动类配置注解,开启远程调用
// 开启远程调用,指定扫描包 @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
#设置路由的uri
spring.cloud.gateway.routes[0].uri=lb://service-hosp
#设置路由断言,代理servicerId为auth-service的/auth/路径 (路径匹配)
spring.cloud.gateway.routes[0].predicates= Path=/*/hosp/**
#设置路由id
spring.cloud.gateway.routes[1].id=service-cmn
#设置路由的uri
spring.cloud.gateway.routes[1].uri=lb://service-cmn
#设置路由断言,代理servicerId为auth-service的/auth/路径
spring.cloud.gateway.routes[1].predicates= Path=/*/cmn/**
3、配置跨域问题解决
// 允许跨域配置类
@Configuration
public class CorsConfig {
@Bean
public CorsWebFilter corsFilter() {
CorsConfiguration config = new CorsConfiguration();
config.addAllowedMethod("*");
config.addAllowedOrigin("*");
config.addAllowedHeader("*");
UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource(new PathPatternParser());
source.registerCorsConfiguration("/**", config);
return new CorsWebFilter(source);
}
}
以上是关于05-Nacos-Feign-Gateway项目配置使用的主要内容,如果未能解决你的问题,请参考以下文章
Intellij idea编译项目报错,项目里没有配maven,搞了好几天了,求大神帮忙。