angularjs - 使用 Angular 2 中的参数对 REST 服务进行 GET 调用

标签 angularjs typescript angular

我正在尝试对 YouTube Web API 进行 GET 调用,但不知道如何使用 http.get 函数传递参数。我已经使用了 fiddler 并确保正在发出请求。我目前收到 400 错误,指出我缺少参数“Part”。如何修改代码以在请求中包含所需的参数?

private _url = 'https://www.googleapis.com/youtube/v3/';
private _key = '';

getPlaylistVideos(playlistId, pageToken){

    var url = this._url + "playlistItems";
    var options =  { part: 'snippet', maxResults: 50, playlistId: playlistId, key: this._key, pageToken: pageToken }

    return this.http.get(url, options);

}

最佳答案

您需要将搜索参数包含在您的请求中。我认为这对你有用:

getPlaylistVideos(playlistId, pageToken) {
    let url = `${this._url}playlistItems`,
        options =  { part: 'snippet', maxResults: 50, playlistId: playlistId, key: this._key, pageToken: pageToken }, 
        params = URLSearchParams();

    for (let key in options) params.set(key, options[key);

    return this.http.get(url, {search: options});
}

您可以使用 set 方法创建 URLSearchParams,您可以找到完整文档 here

关于angularjs - 使用 Angular 2 中的参数对 REST 服务进行 GET 调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38490737/

相关文章:

angularjs - 更新到 Angular 10 后,如果没有 'new',则无法调用类构造函数 UpgradeComponent

html - 将 Lottie Player 安装到 Angular

typescript - Partial<SomeClass> 但没有方法?

javascript - Angular 2 中的 HTTP POST

angular - 删除 Protractor e2es 上的 Angular 和 Webdriver INFO 控制台日志

angularjs - 如何使用 angularjs 触发 ng-click 中另一个元素的点击事件?

javascript - 从对象数组返回单个记录

javascript - 模态窗口的 Controller 可以访问父 Controller 中的函数吗

typescript 按特定值减少对象数组

javascript - HttpClientXsrfModule 是否仍然需要在服务器上设置 XSRF-TOKEN?