在Angular 7中使用POST方法与Spring Boot Rest Controller配合工作的解决方法如下所示:
import { Injectable } from '@angular/core';
import { HttpClient, HttpHeaders } from '@angular/common/http';
import { Observable } from 'rxjs';
@Injectable({
providedIn: 'root'
})
export class ApiService {
private baseUrl = 'http://localhost:8080/api'; // 替换为你的Spring Boot应用的URL
constructor(private http: HttpClient) { }
public postRequest(data: any): Observable {
const headers = new HttpHeaders({
'Content-Type': 'application/json'
});
return this.http.post(`${this.baseUrl}/endpoint`, data, { headers });
}
}
import { Component } from '@angular/core';
import { ApiService } from './api.service';
@Component({
selector: 'app-root',
template: `
`
})
export class AppComponent {
constructor(private apiService: ApiService) { }
public postData(): void {
const data = {
// 构造你的请求数据
};
this.apiService.postRequest(data).subscribe(
response => {
console.log(response); // 处理响应数据
},
error => {
console.log(error); // 处理错误
}
);
}
}
@RestController
@RequestMapping("/api")
public class ApiController {
@PostMapping("/endpoint")
public ResponseEntity handlePostRequest(@RequestBody String data) {
// 处理请求数据
System.out.println(data);
// 返回响应数据
return ResponseEntity.ok("请求已成功处理");
}
}
以上的解决方法假设你的Spring Boot应用已经正确地配置和运行在http://localhost:8080
上,并且/api/endpoint
端点用于处理POST请求。你可以根据自己的需求修改这些代码。