spring使用控制台运行方式

spring.main.web-application-type=none
新老版本的配置有点差异 Maven的modules只是实现了一个顺序编译,一次多个项目一起生成而己 通过parent才能真正实现继承,目录关系不顶事
@SpringBootApplication
@EnableDiscoveryClient
@Configuration
public class DemoConsoleApplication implements CommandLineRunner { public static void main(String[] args) {
SpringApplication.run(DemoConsoleApplication.class, args);
} @Bean
@LoadBalanced
public RestTemplate restTemplate(){
return new RestTemplate();
} @Autowired
RestTemplate restTemplate; @Override
public void run(String... args) throws Exception {
System.out.println("command line start runing now....");
HashMap<String,String> pms=new HashMap<>();
pms.put("a","b");
pms.put("c","d"); String ret = restTemplate.execute("http://xx/welcome", HttpMethod.GET, null, new ResponseExtractor<String>() {
@Override
public String extractData(ClientHttpResponse clientHttpResponse) throws IOException {
InputStream aa = clientHttpResponse.getBody();
String str="";
BufferedReader reader=new BufferedReader(new InputStreamReader(aa));
String line="";
do{
line=reader.readLine();
str+=line+"\n";
}while(line!=null);
return str;
}
},pms); System.out.println(ret.toString()); } }

rest动态请求微服务

下面这种更牛逼,可以使用header/object 传值方式调用

                HashMap<String, String> headerMap = JSON.parseObject(headers, HashMap.class);
HashMap<String, Object> paramObj = JSON.parseObject(params, HashMap.class);
MultiValueMap<String, String> mtHeader=new LinkedMultiValueMap<>();
headerMap.forEach((String k,String v)->{
mtHeader.set(k,v);
});
HttpEntity<?> entiry = new HttpEntity<HashMap<String, Object>>(paramObj,mtHeader);
ResponseEntity<String> ret = restTemplate.exchange(url, HttpMethod.POST, entiry, String.class);
log.info("restTemplate,status={},statuscode={},body={}", ret.getStatusCode(), ret.getStatusCodeValue(), ret.getBody());
HashMap<String, Object> resultVo = JSON.parseObject(ret.getBody(), HashMap.class);
//判断是否消费成功
if (!hasSuccess(resultVo)) {
flag = false;
}

最新文章

  1. 自己封装的常用NPOI文件导出源码
  2. 【SRM】518 Nim
  3. JavaScript JsTree实例
  4. SQL查询语句 常用示例
  5. 使用PowerShell 连接Azure
  6. Codeforces Round #236 (Div. 2)E. Strictly Positive Matrix(402E)
  7. 【转】Gedit中文乱码
  8. c# list exists(contains) delegate 委托判断 元素是否在LIST中存在
  9. BZOJ 3439: Kpm的MC密码( trie + DFS序 + 主席树 )
  10. Python ---------copy
  11. ArrayList和Vector区别
  12. 46. Permutations(medium, backtrack, 重要)
  13. redis的set类型!!!!
  14. 【转】C# 串口操作系列(1) -- 入门篇,一个标准的,简陋的串口例子。
  15. bzoj 2286: [Sdoi2011]消耗战 虚树+树dp
  16. 跨域iframe如何通信
  17. 2-4 完整Todolist案例
  18. Oozie分布式工作流——流控制
  19. Python之路PythonThread,第二篇,进程2
  20. 修改TEMPDB所在的路径

热门文章

  1. CGLib动态代理引起的空指针异常
  2. CRM 建设方案(01):CRM基础
  3. Python中int()函数的用法浅析
  4. Contest 9
  5. C++解析(26):函数模板与类模板
  6. JAVA里面&quot;==&quot;和euqals的区别
  7. TortoiseSVN的基本使用方法
  8. 手把手教你如何玩转Activiti工作流
  9. HAOI2017游记
  10. Java基础之equals() 和 hashCode()