如何从给定ID的Spring Boot微服务请求数据到外部服务器?

时间:2018-11-14 11:02:32

标签: spring-boot resttemplate

当前,我已经创建了2个微服务,并使用RestTemplate将数据从一种服务获取到另一种服务。

微服务-1:

import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;


import java.util.ArrayList;
import java.util.List;

@RestController
public class StringDataController {

List<String> stringList = new ArrayList<>();


@RequestMapping(value = "/securities/list", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE)
public List<String> sendStringData(){

    stringList.add("12345");
    stringList.add("23435");
    stringList.add("23436");
    return stringList;
}

}

微服务2:

import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.client.RestTemplate;

import java.util.List;

@RestController
@EnableAutoConfiguration
public class ExternalRequestController {

@Value ("${sampleMS1.uri}")
String sampleMS1URI;

@RequestMapping(value="/listdata", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE)
public void receiveStringFromAnotherMS(){
    List<String> list = null;

    list = new RestTemplate().getForObject(sampleMS1URI,List.class);

    System.out.println(list.toString());
    System.out.println("-->"+list);
}
}

现在,我必须将List(String)(ID的列表)数据发送到某个外部服务器,并且响应应该将Map(K,V)==>键作为字符串,并将Value作为双精度值。

请注意:外部服务器未由我们处理,因此我们只能请求带有ID列表的数据,然后他们应发送包含特定ID的价格数据的响应。

有人可以建议我这样做吗?

我是Spring&Spring引导的新手。 谢谢!

0 个答案:

没有答案