最近在写一个web页面,html方式,需要通过ajax请求后台数据,并展示在页面上。后台是Springboot写的,有登录验证,我明明写了该接口免登陆,但是还是html加载不出来,依然重定向到登录页面,下面来看看是什么问题,如何解决?
WebMvcConfigurer
1 | package pet.photography.config; |
Controller
1 | package pet.photography.controller; |
静态资源位置:
已在excludePathPatterns中添加”/moment”接口的排除接口登录验证,依然无效
1 | // 20210703111103 |
调试发现会报重定向次数过多的问题,经过一步一步的排查分析,发现是Controller层的代码有问题,当接收”/moment”的时候返回的view是”next_door_moment”,由于没有使用@ResponseBody,所以这个字符串会被解析为一个视图而不是JSON串,所以当在Interceptor中进行redirect重定向之后,再一次进行重定向的路径为
https://localhost:7449/photography/miniprogram/next_door_moment.html
此时的相对路径为”/next_door_moment.html”,不再被排除的路径内,所以又会被拦截,加上html路径就行了。
这是解决办法:在WebMvcConfigurer的实现类下,添加html excludePathPatterns
1 |
|
ok,完成
书山有路勤为径,学海无涯苦作舟。
欢迎关注微信公众号:【程序员写书】
喜欢宠物的朋友可以关注:【电巴克宠物Pets】
一起学习,一起进步。
