调用请求LOCALHOST始终返回状态代码200

pkbketx9  于 2022-10-07  发布在  其他
关注(0)|答案(1)|浏览(172)

这是我在这里的第一个问题。我正在开发一个Spring Boot应用程序。今天我遇到了一个奇怪的问题。

例如,当我运行我的应用程序并调用POST http://localhost:8080/report时,我应该得到pdf作为响应,或者如果出现错误,我会得到某种类型的错误代码,但我得到的状态200没有正文。

当我试图呼叫一个不存在的服务时,同样的事情发生了。我在该服务实现的第一行设置了断点,但它从未到达那里。

我试图重新安装Java和IntelliJ,更新了Windows,并禁用了防火墙。今天早上,它运行得很好。我真的不知道发生了什么,我在这里问你,可能是什么导致了这一点。

这发生在向Keystore添加证书后不久,但我已经这样做过很多次了,以前从未发生过这种情况。很抱歉没有说得更具体,但我真的不知道具体到哪里去,因为它突然停止工作了。

因为我是Windows用户,所以我运行了netstat -ano -p tcp |find "8080"来检查端口是否空闲。当应用程序运行时,我会得到

TCP    0.0.0.0:8080           0.0.0.0:0              LISTENING       12832

当我停止应用程序时,我没有得到任何输出。还尝试将端口更改为其他端口,但无济于事。

piok6c0g

piok6c0g1#

使用sudo lsof -i :8080检查端口8080上运行的内容。

很可能您在那里已经有了另一项服务。

localhost可以同时指向IPv4和IPv6接口,因此从技术上讲,多个应用程序可以绑定到localhost上的同一端口。

解决方案要么是change your Spring Boot app port,要么是终止冲突的应用程序/更改其端口。

Java应用程序也可以使用VM选项中的-Djava.net.preferIPv4Stack=true强制仅绑定到IPv4接口。

相关问题