Spring Cloud之微服务之间相互调用、如何让一个微服务调用另外一个微服务

在使用微服务架构中,可能遇到一些业务情况会涉及服务之间相互调用,下面通过一个简单的demo给大家演示下,演示的是oms服务需要调用ump服务。

代码如下:

1、oms服务提供者

Spring Cloud之微服务之间相互调用、如何让一个微服务调用另外一个微服务_第1张图片

 主要是这个注解:

@EnableFeignClients("com.omsserver.*")

完整代码:

package com.omsserver.service;

//import org.springframework.cloud.netflix.feign.FeignClient;
import org.springframework.cloud.netflix.feign.FeignClient;
import org.springframework.stereotype.Service;
import org.springframework.web.bind.annotation.RequestMapping;

import java.util.Map;

/**
 * @Description: java类作用描述
 * @Author: zhoujh
 * @CreateDate: 2019/5/10$ 11:22 AM$
 * @Version: 1.0
 */

@Service
@FeignClient("ump-service")//服务生产者名称
@RequestMapping("/api/umpinfo")//服务路由
public interface UmpInfoService {


    @RequestMapping("/umpDetails")
    Map umpDetails(String omsId ) ;

}

 

2、ump服务提供者(被调用)

Spring Cloud之微服务之间相互调用、如何让一个微服务调用另外一个微服务_第2张图片

 

完整代码:

package com.umpserver.umpserver.controller;

import com.umpserver.umpserver.service.UmpService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;

import java.util.HashMap;
import java.util.Map;

/**
 * @Description: java类作用描述
 * @Author: zhoujh
 * @CreateDate: 2019/5/10$ 11:19 AM$
 * @Version: 1.0
 */

@RestController
@RequestMapping("/api/umpinfo")//服务路由
public class UmpController {

    @Autowired
    UmpService umpService;

    @RequestMapping("/umpDetails")
    @ResponseBody
    public Map selectUmpInfo(@RequestBody String omsId){
        Map map = new HashMap<>();
        map = umpService.findUmpInfo(omsId);
        return map;
    }
}

 

你可能感兴趣的:(Spring,Cloud之微服务之间相互调用,Spring,Boot,微服务,Spring,Cloud)