zoukankan      html  css  js  c++  java
  • nacos入门

        <dependencyManagement>
            <dependencies>
                <dependency>
                    <groupId>org.springframework.cloud</groupId>
                    <artifactId>spring-cloud-dependencies</artifactId>
                    <version>Hoxton.SR4</version>
                    <type>pom</type>
                    <scope>import</scope>
                </dependency>
                <dependency>
                    <groupId>com.alibaba.cloud</groupId>
                    <artifactId>spring-cloud-alibaba-dependencies</artifactId>
                    <version>2.2.1.RELEASE</version>
                    <type>pom</type>
                    <scope>import</scope>
                </dependency>
    
            </dependencies>
        </dependencyManagement>
    
           <dependency>
                <groupId>com.alibaba.cloud</groupId>
                <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
            </dependency>
    

    application.yml

    spring:
      profiles:
        active: default
      application:
        name: user-center
      cloud:
        nacos:
          discovery:
            server-addr: localhost:8848
            # namespace 值为nacos上配置的命名空间ID
            # namespace: b7c0175d-f64c-45ab-8bb9-0981b4aceae9
            # 集群
            # cluster-name: beijing
            # 元数据配置
            metadata:
              hello: hi
    

    简单使用

    @Slf4j
    @RestController
    @RequestMapping("/share")
    @RequiredArgsConstructor(onConstructor = @__(@Autowired))
    public class ShareController {
        private final ShareService shareService;
    
        private final RestTemplate restTemplate;
    
        private final DiscoveryClient discoveryClient;
    
        @GetMapping("/{id}")
        public ShareDto findById(@PathVariable Integer id){
            Share share = shareService.findById(id);
            List<ServiceInstance> instances = discoveryClient.getInstances("user-center");
            String url = instances.stream()
                    .map(instance->instance.getUri()+"/user/{id}")
                    .findFirst()
                    .orElseThrow(()->new IllegalArgumentException("当前没有实例!"));
            UserDto userDto = restTemplate.getForObject(
                    url,
                    UserDto.class,
                    share.getId());
            log.info("请求的目标地址{}",url);
            ShareDto shareDto = new ShareDto();
            BeanUtils.copyProperties(share,shareDto);
            shareDto.setWxNickname(userDto.getWxNickname());
            return shareDto;
        }
    }
    
    
  • 相关阅读:
    API接口签名验证2
    jps看不到进程号 规格严格
    XP Administrator账户没有了?显示欢迎屏幕下所隐藏的Administrator账户 规格严格
    PDH 规格严格
    plugin.xml 规格严格
    强大的备份软件 规格严格
    关于工具使用 规格严格
    java.library.path属性在代码中设置不生效问题 规格严格
    RCP 规格严格
    Linux下信息查询 规格严格
  • 原文地址:https://www.cnblogs.com/fly-book/p/12818017.html
Copyright © 2011-2022 走看看