nacos服务注册与发现(restful风格)

1创建父工程nacos-discovery

pom文件 

<groupId>cn.yh.nacos</groupId>
    <artifactId>nacos-discovery</artifactId>
    <packaging>pom</packaging>
    <version>1.0-SNAPSHOT</version>
    <modules>
        <module>provider</module>
        <module>consumer</module>
    </modules>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-dependencies</artifactId>
                <version>2.1.3.RELEASE</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>

        </dependencies>
    </dependencyManagement>

2.服务提供者

pom文件

<dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
</dependencies>

cn.yh.nacos.provider.controller.RestController

@RestController
@RequestMapping("/provider")
public class Restcontroller {


    @GetMapping("/service")
    public String service(){
        return "提供者方法";
    }
}

resources

server:
  port: 100

启动类

cn.yh.nacos.ProviderBootstrap

@SpringBootApplication
public class ProviderBootstrap {
    public static void main(String[] args) {
        SpringApplication.run(ProviderBootstrap.class);
    }
}

测试:

 3.服务消费方

pom文件

引入web启动器依赖

cn.yh.nacos.sumer.controller.RestController

@org.springframework.web.bind.annotation.RestController
@RequestMapping("/consumer")
public class RestController {

    @Autowired
    RestTemplate restTemplate;

    @Value("${provider.address}")
    String address;

    @GetMapping("/service")
    public String service(){
        //调用服务提供方
        String forObject = restTemplate.getForObject("http://"+address+"/provider/service", String.class);
        return "消费方执行了"+forObject;
    }
}

   RestTemplate是Spring提供的用于访问Rest服务的客户端,它提供了很多可以方便访问远程http服务的方法,这些方法可以帮助开发人员减少编写客户端代码的工作量。

 resources

server:
  port: 200

  #指定服务提供方地址
provider:
  address: 127.0.0.1:100

启动类(声明了RestTemplate对象)

@SpringBootApplication
public class ConsumerBootstrap {
    public static void main(String[] args) {
        SpringApplication.run(ConsumerBootstrap.class);
    }

    @Bean
    public RestTemplate restTemplate(){
        return  new RestTemplate();
    }
}

测试:消费方调用提供方

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值