0

我正在使用 Apollo Angular 客户端以 Angular 调用 API,我的一些 API 是 POST 类型,有些是 GET 类型,我想根据 API(GET 或 POST)更改 API 方法类型我是新手,所以请帮助我。我的代码:

export class AppModule {

  constructor(
    apollo: Apollo,
    private httpLink: HttpLink
  ) {
    const auth = setContext((_, { headers }) => {
      const token = sessionStorage.getItem('token');
      if (!token) {
        return {};
      } else {
        return {
          headers: headers.append('Authorization', token)
        };
      }
    });
    const http = this.httpLink.create({ uri: '/api/graph', method: 'GET' });
    apollo.create({
      link: auth.concat(http),
      cache: new InMemoryCache()
    });
  }

}
  1. Api 方法(GET 类型):

    constructor(private router: Router,
        private apollo: Apollo,
        private appService: AppService) {
      }
    
      login() {
        this.apollo.query({query: MyQuery })
          .subscribe((data) => {
            if (data['data']) {
               console.log(err);
            }
          },
            err => {
              console.log(err);
            });
      }
    
  2. API 方法(POST 类型)代码:

    this.apollo.query( { query: MyQuery }) .subscribe((data) => { console.log(data); }, err => { console.log(err); });

我无法调用方法 2(POST 类型方法),因为实例创建为 GET 类型,我想根据我的 API 方法类型对其进行更改

请在这件事上给予我帮助..

4

1 回答 1

0

您想使用 get 进行 Graphql 查询吗?还是只想提出一个获取请求?在这种情况下,您应该使用 httpclientmodule

于 2019-05-14T21:18:04.397 回答