1 开端

HTTP Client是IDEA中自带的一个插件,用于代替原来的REST Client,打开Tools->HTTP Client->Test RESTful Web Service,会提示REST Client不推荐使用,推荐使用HTTP Client:

然后当然就点击使用啊,但是,问题来了,一个普通的GET请求都发送不出去????



IDEA的东西估计没这么菜吧???

肯定不会这么菜的。。。

但是为什么就是发不出去???

2 尝试

GET请求对吧,浏览器也可以做,于是,使用了浏览器进行测试,一点问题都没有:

没理由啊,笔者在想,那为什么IDEA不行呢??

接着使用了大名鼎鼎的Postman,也是一点问题也没有:



Postman也没问题啊,接着试试“情敌”Postwoman,问题来了!

发送不出去,查看了一下F12控制台,报错如下:



搜索了一下解决办法,是跨域资源请求的问题,在Controller类上加上

@CrossOrigin(value = "http://localhost:3000")

即可,因为Postwoman默认运行的端口为3000。

这个注解还可以作用在方法上,起作用的就是对应的方法,这里是对整个Controller起作用。

另外这里只使用了最简单的参数,其他的参数还有origins(同value),allowHeadersexposedHeadersmethodsallowCredentialsmaxAge,具体使用不介绍,加上了以后Postwoman就能正常发送请求了:

3 再次尝试

但是IDEA中的HTTP Client还是不行啊,就最最最普通的GET请求,还是返回500:



于是换了一种思路,想再用其他类似插件的方式测试。

所以就想到了VScode,里面有一个类似的扩展叫REST Client,安装以后写了一个普通的GET请求,完全没问题:



但还是想不到为什么IDEA还是不行啊???

还是500 。。。

。。。

但是,反过来想,可能是请求发送不出去,因为如果是接受到了请求的话,肯定会有日志记录的,但是没有,所以原因可能是请求发送不出去。。。

4 最终答案

一个普通的GET请求为什么发送不出去?

到底是为什么会返回500?

最后,经过一番痛苦的思考,找到了问题所在:代理!



发送不出去就是因为设置了本地代理,返回的500,是代理服务器返回的,不是Tomcat返回的。

终于,把代理去掉之后,HTTP Client就可以正常使用了:



没错,“真凶”就是代理。

最后终于打消了笔者的误解,为什么IDEA中的HTTP Client会这么“菜”,连一个普通的GET请求也发送不出去??

最新文章

  1. 解密jQuery内核 DOM操作的核心函数domManip
  2. quicksort
  3. UBUNTU添加新的分辨率
  4. C++ Const(常类型)的作用总结
  5. Centos6.5和Centos7 php环境搭建如何实现呢
  6. 决策树的基本ID3算法
  7. tomcat 跨域
  8. JAVA_eclipse 保留Java文件时自动格式化代码和优化Import
  9. 线性链表的双向链表——java实现
  10. js深入研究之类定义与使用
  11. td
  12. python gzip 压缩文件
  13. 开博近一年的感想 by 程序员小白
  14. .net 4种单例模式
  15. 带你深入理解STL之Deque容器
  16. 源码编译vim
  17. elasticsearch的映射
  18. Windows以及Linux系统文件、文件夹命名规则
  19. PyQt5--EventHandler
  20. jqgrid 滚动分页

热门文章

  1. 07_MySQL修改数据库的表结构
  2. 用Python实现一个“百度翻译”
  3. K8s炼气期(一)| minikube安装本地Kubenetes环境
  4. winform导出csv
  5. Vue学习笔记-VSCode安装与配置
  6. 25个关键技术点,带你熟悉Python
  7. C#类中的成员
  8. 从零学脚手架(二)---初识webpack
  9. Docker 一图胜千言
  10. BZOJ_2115 [Wc2011] Xor 【图上线性基】