Ionic 3 / Angular 5 http.post请求标头未通过

hal*_*nes 0 ionic-framework ionic3 angular

我试图通过一个API来执行一个非常简单的get请求,但是由于我遇到了身份验证错误,因此似乎没有提供这些选项,即使在邮递员上使用相同的身份验证令牌也是如此。这是代码:

import { HttpClient, HttpHeaders } from '@angular/common/http';



@Injectable()
export class UsersService {

  private nearby_url: string = APP_CONFIG.apiEndpoint + '/users/closest/';
  private me_url: string = APP_CONFIG.apiEndpoint + '/users/me/';
  private conversations_url: string = APP_CONFIG.apiEndpoint + '/users/conversations/';

  constructor(private http: HttpClient) { }

  createAuthorizationHeader() {
    var headers = new HttpHeaders();
    // get auth token

    // append auth token to headers
    headers.append("Authorization", 'Token xxxxxxxxxxxyyyyyyyyyyyyzzzzzzzzz');

    return headers
  }

  getPersonResponse(url): Observable<PersonResponse> {
    const options = {
      headers: this.createAuthorizationHeader()
    };

    return this.http.get(url, options)
      .map((response: Response) => response)
      .catch((error: any) => Observable.throw(error.error || 'Server error'));
  }

  getNearby(): Observable<PersonResponse> {
    return this.getPersonResponse(this.nearby_url);
  }

  getMe(): Observable<PersonResponse> {
    return this.getPersonResponse(this.me_url);
  }

  getConversations(): Observable<PersonResponse> {
    return this.getPersonResponse(this.conversations_url);
  }

}
Run Code Online (Sandbox Code Playgroud)

我在这里做错了什么?

Rah*_*ngh 5

变成类似

const headers = new HttpHeaders()
            .set("X-CustomHeader", "custom header value");
Run Code Online (Sandbox Code Playgroud)

注意,我们通过链接连续的set()方法来构建HTTPHeaders对象。这是因为HTTPHeaders是不可变的,并且其API方法不会导致对象突变。相反,对set的调用将返回一个包含新value属性的新HTTPHeaders对象。

相同的更多内容-https: //rahulrsingh09.github.io/AngularConcepts/services