当前,我已经创建了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引导的新手。 谢谢!