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、调用方的操作

  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
#设置路由的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项目配置使用的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Django 在模型对象中分配项目?

javaweb项目配jdk

Linux部署项目简要记录只是步骤没有配图

Intellij idea编译项目报错,项目里没有配maven,搞了好几天了,求大神帮忙。

2.快速创建springboot项目 连pom文件里面的配置都不用配了

★★IDEA使用教程(第一阶段:单模块部署)