使用Ng-aialin
有一段时间了,虽然有坑,可是仍是本身掌握的不熟练,这个问题也困惑了我一段时间html
http
请求service:前端
` public getAll(): Observable<Array<Website>> { return this.httpClient.get<Array<Website>>(`${this.baseUrl}`); }`
ts:web
`this.websiteService.getAll().subscribe( (res)=> { this.websiteList = res; console.log(res); },() => { this.msg.error('error'); console.log('error'); });`
一个很是简单的get请求获取所有的数据
在控制台没有找不到该网络请求
一样控制台也会打印错误前端框架
很明显,前台在发送请求时,就没有发送出去(被拦下了),否则控制台不可能没有请求
看了拦截器的代码,发现本身写的拦截器没有任何问题,问了张喜硕顺便查了一下资料。网络
发现:Ng-aialin
默认实现了拦截器,在发送http
请求的时会默认添加token
,若是没登陆,没有token
,它就会将你的请求拦下(它认为你只有登陆才能发请求)参考文章框架
在发送http
请求的时候带上_allow_anonymous 参数
容许匿名登陆,也就是不带token
是也让它发送请求。
在控制台能够看到发送的请求,可是还有问题那就是报: 401this
401 很是常见的状态码,没有权限,那解决也就很是简单了
因为后台配置了Spring Security
会对后台的任何请求进行认证保护,在请求时没有登陆,因此就会出现401的错误了spa
忽略对该请求的认证保护
在此发送请求,状态码200,请求成功
在ng-alain的文档中并无说明,这也是我掉坑的缘由,但愿对其余人有所帮助。