使用Angular的HttpClient将非JSON数据发布到微服务的正确方法是什么?

时间:2019-05-20 21:28:05

标签: angular angular-httpclient

我正在尝试使用Angular 7发布表单数据。接收服务需要一个带有字符串值的参数(名为todostr)。下面我尝试过

export class ComponentService {
  private apiUrl = 'http://localhost:8080/todo/';
  constructor(private http: HttpClient) {
  }

    ...

  createTodo(todo: string): Promise<Array<AppComponent>> {
    let todoHeaders = new HttpHeaders({ 'Content-Type': 'application/x-www-form-urlencoded' });
    let params = new HttpParams();
    params.set('todostr', todo);
    return this.http.post(this.apiUrl + "add", null, { headers: todoHeaders, params: params })
        .toPromise()
        .then(response => response as AppComponent[])
        .catch(this.handleError);

但是我从微服务中得到了400,因为没有发送参数todostr。我没有将JSON主体(微服务将不接受JSON并且我无法更改微服务)留在了第二个参数null中,用于this.http.post方法。

使用Angular发布数据的正确方法是什么?

0 个答案:

没有答案