Spring Cloud之微服务之间相互调用、如何让一个微服务调用另外一个微服务
在使用微服务架构中,可能遇到一些业务情况会涉及服务之间相互调用,下面通过一个简单的demo给大家演示下,演示的是oms服务需要调用ump服务。代码如下:1、oms服务提供者主要是这个注解:@EnableFeignClients("com.omsserver.*")完整代码:package com.omsserver.service;//import org.s...
·
在使用微服务架构中,可能遇到一些业务情况会涉及服务之间相互调用,下面通过一个简单的demo给大家演示下,演示的是oms服务需要调用ump服务。
代码如下:
1、oms服务提供者
主要是这个注解:
@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<String,Object> umpDetails(String omsId ) ;
}
2、ump服务提供者(被调用)
完整代码:
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<String,Object> selectUmpInfo(@RequestBody String omsId){
Map<String,Object> map = new HashMap<>();
map = umpService.findUmpInfo(omsId);
return map;
}
}
更多推荐
已为社区贡献12条内容
所有评论(0)