现在都流行spring框架,我们公司也是,然而,昨天我使用spring注入的方式调用方法,接口调用成功,代码没有报错,程序运行正常,但是返回的结果却是接口调用失败???
注入的代码如下
调用的地方如下
调用成功,没有报错,然后返回结果
也返回了,没有任何的问题,最后神奇的一幕出现了
接口调用成功,返回了成功,但是swagger上面却是调用异常,失败了???
我跟了我的接口,没有报错,捕获异常也没有,而且数据进行了成功的处理和执行,但是就是返回接口调用失败。
最后,问了我们大佬,找到了解决的办法,如下图,可是原理还是不清楚是怎么回事。
这里同一个工程里面,不能使用注入的方式来调用你写好的接口,不管是什么样的,只要用注入的方式调用,执行成功,返回成功,响应体告你接口调用异常。你使用pass的方法来调用接口就是正常的。
不知道是哪里出的问题,头皮发麻,不过今天总算是解决了,避免以后再犯这个错误,记录一下。
这样写还是有问题,可以调到接口了,但是部署在PaaS上面的时候,服务器会调用不到接口,产生问题的原因,发送mq的程序,接收mq的程序,消化mq的程序,都在一个工程中。
解决方法,把mq发送的程序,写到另外一个工程中就可以了。
见了鬼了,希望有大佬看到这篇文章之后,一起探讨一下,本公司项目mq使用的是rocketmq