如果在Angular 8应用中调用Spring Boot应用时返回为空,可能有以下几个原因:
网络请求问题:确保Angular应用能够正确地发送请求到Spring Boot应用,并且能够正确地接收到响应。可以使用浏览器开发者工具来检查网络请求的状态码和响应内容。
跨域问题:如果Angular应用和Spring Boot应用不在同一个域下,可能会遇到跨域问题。在Spring Boot应用的配置文件中添加跨域配置,允许来自Angular应用的请求。
后端接口问题:检查Spring Boot应用的接口是否正确地返回数据。可以在浏览器中直接访问Spring Boot应用的接口,确认接口能够正确地返回数据。
下面是一个示例代码,演示了如何在Angular 8应用中调用Spring Boot应用的接口:
在Angular代码中创建一个服务(service),用于发送HTTP请求:
import { Injectable } from '@angular/core';
import { HttpClient } from '@angular/common/http';
@Injectable({
providedIn: 'root'
})
export class ApiService {
private apiUrl = 'http://localhost:8080/api'; // 替换为Spring Boot应用的接口地址
constructor(private http: HttpClient) { }
getData() {
return this.http.get(`${this.apiUrl}/data`);
}
}
在组件中使用该服务来调用接口并获取数据:
import { Component, OnInit } from '@angular/core';
import { ApiService } from './api.service';
@Component({
selector: 'app-root',
template: `
- {{ item }}
`
})
export class AppComponent implements OnInit {
data: any[];
constructor(private apiService: ApiService) {}
ngOnInit() {
this.apiService.getData().subscribe(
res => {
this.data = res;
},
error => {
console.error(error);
}
);
}
}
请确保将http://localhost:8080/api
替换为Spring Boot应用的实际接口地址。
上一篇:Angular 8应用程序:window.open在新窗口中总是重定向到index.html。
下一篇:Angular 8应用在IE11中无法运行,但在Edge中运行良好,如何修复,最近我将我的应用从Angular 7迁移到了Angular 8。