您可以在请求参数的headers选项中手动设置content-type,而不是依赖Httpclient自动生成它。您可以使用HttpHeaders类来创建一个新的头部对象,然后将其设置为请求参数的headers选项中的值。以下是一个示例代码:
import { Component } from '@angular/core';
import { HttpClient, HttpHeaders } from '@angular/common/http';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent {
constructor(private http: HttpClient) { }
makeRequest() {
const headers = new HttpHeaders().set('Content-Type', 'application/json');
const body = JSON.stringify({ message: 'Hello World!' });
this.http.post('http://example.com/api/post', body, { headers }).subscribe(
response => console.log(response),
error => console.error(error)
);
}
}
在上面的示例中,我们创建了一个新的HttpHeaders对象,并将其设置为值为'application/json”的'Content-Type”头。然后,我们将此对象设置为我们的POST请求的headers选项中的值,并将我们的请求体作为第二个参数传递。这将覆盖Httpclient自动生成的content-type头部。