入职了快三个月了,公司需要考核一下我,因为平时活少,中间差点也被劝退。所以将近转正时要我写一个访问拦截器的需求,并部署到Linux上。不难,但我却搞了三天。
总结了一下,我对拦截器理解不深,对项目需求理解有误,需求是:设置两个参数账号密码(username,password),当访问某个类的接口时,要携带两个参数并且加密的密码解密后与设置的密码相同才能访问。
第一天我没弄明白拦截器,我以为直接放行所有接口,它会跑到拦截器校验账号密码,现在想想好蠢,其实是,项目刚运行就会跑拦截的那个类,要先拦截所有,再跑到拦截器校验请求头,return true 之后才能访问类下的所有接口,否则不能访问。
第二天我才准备部署到Linux上,因为是第一次部署,所以不熟,Linux命令虽然学过,但用的很少,又怕出错,所以百度了好一会。项目在我本地上跑是没有任何问题的,但是当我部署完之后,项目也能运行起来了,但很奇怪,访问那个类的时候,密码错误被拦截,访问不了很正常,但密码错误,拦截器执行了,但是!它卡住了,卡在接口发送post请求的url那里,也就是调用第三方接口那里。
因为一直报500错误,说是json为null,所以一直在找接口里面那个json为null的字段,但还是想不通啊,为什么同样的调用,本地就可以,Linux上却不行?网上找了好多方法,都没有我遇到的这种,接口没问题,我写的拦截器也没问题,调用第三方的url也没问题,我在服务器上telnet 可以调通,那唯一的问题就是,服务器有问题!后来换了一台服务器,好了!