其他分享
首页 > 其他分享> > springcloud-05Eureka07-discovery服务发现

springcloud-05Eureka07-discovery服务发现

作者:互联网

对于注册进eureka里面的微服务,可以通过服务发现来获得该服务的信息

  1. 修改cloud-provider-payment8001的Controller
@RestController
@Slf4j
public class PaymentController {

    @Resource
    private PaymentService paymentService;

    @Value("${server.port}")
    private String serverPort;

    @Resource
    private DiscoveryClient discoveryClient;

    @PostMapping("/payment/create")
    public CommonResult create(@RequestBody Payment payment){
        int result = paymentService.create(payment);
        log.info("========>插入结果:"+result);

        if (result > 0){
            return new CommonResult(200,"插入成功,serverPort:"+serverPort, result);
        }else {
            return new CommonResult(444,"插入数据库失败",null);
        }
    }

    @GetMapping("/payment/get/{id}")
    public CommonResult getPaymentById(@PathVariable("id") Long id){
        Payment payment = paymentService.getPaymentById(id);
        log.info("========>查询结果:"+payment+"wewewefdsfsddfsfs");

        if (payment != null){
            return new CommonResult(200,"查询成功,serverPort:"+serverPort, payment);
        }else {
            return new CommonResult(444,"无记录,查询"+id,null);
        }
    }

    @GetMapping(value = "/payment/discovery")
    public Object discovery(){
        List<String> services = discoveryClient.getServices();
        for (String element : services){
            log.info("======>element:" + element);
        }

        List<ServiceInstance> instances = discoveryClient.getInstances("CLOUD-PAYMENT-SERVICE");
        for (ServiceInstance instance:instances
             ) {
            log.info(instance.getServiceId() + "\t" +
                    instance.getHost() + "\t" +
                    instance.getPort() + "\t" +
                    instance.getUri());
        }
        return this.discoveryClient;

    }
}

image

image

  1. 8001主启动类
@EnableEurekaClient
@EnableDiscoveryClient
@SpringBootApplication
public class PaymentMain8001 {
    public static void main(String[] args) {
        SpringApplication.run(PaymentMain8001.class,args);
    }
}

image

  1. 测试

image

标签:CommonResult,springcloud,payment,05Eureka07,serverPort,id,return,public,discover
来源: https://www.cnblogs.com/jsit-dj-it/p/15632239.html