我正在做一个项目,该项目需要迁移旧Http的所有实例,以利用Angular提供的新HttpClient。异步方法在DataService类中声明如下:
@Injectable()
export class DataService {
constructor(private http: Http) { }
async getAsync<T>(resource: string, options?: RequestOptions): Promise<T> {
return this.http
.get(resource, options)
.map((response: Response) => response.json())
.catch(this.handleError).toPromise();
}
并在另一个服务类中使用,如下所示:
async getUser() {
try {
this.logger.debug('Getting User State...');
const userInfo = await this.dataService.getAsync<[Type Parameter]>(
this.constantService.urls.authenticatedUserUri, <RequestOptions>{ withCredentials: true }
);
this.logger.debug(JSON.stringify(userInfo));
this.authorizeUser(userInfo);
} catch (error) {
this.logger.debug(error);
}
}
我知道为了使用HttpClient,我需要在提供DataService类的模块中导入Http客户端模块,然后在服务本身中导入HtpClient,并通过类的构造函数注入它。我还知道行<code>。映射((响应:响应)=
我的主要问题是用什么来代替HttpClient模块中不再支持的RequestOptions对象。我假设我将不得不使用HttpHeaders和/或HttpParams来代替RequestOptions,但是我不确定具体的实现。行<代码>
我将继续研究,并通过留档,试图找到合适的解决方案,但我感谢任何帮助这个特殊的问题。谢谢!
不再键入选项
只需将RequestOptions
替换为任何
即可。
在文档中,您可以看到以下内容:
request(first: string|HttpRequest<any>, url?: string, options: {
body?: any,
headers?: HttpHeaders|{[header: string]: string | string[]},
observe?: HttpObserve,
params?: HttpParams|{[param: string]: string | string[]},
reportProgress?: boolean,
responseType?: 'arraybuffer'|'blob'|'json'|'text',
withCredentials?: boolean,
} = {}): Observable<any>
如您所见,<code>withCredentials</code>仍然可用,并且没有<code>选项的类型
Figure: Great Migration by gekkodigitalmedia licensed under Public Domain ()
问题内容: 由于办公室人员的变动,C#专业知识的水平急剧下降,现在有更多的Java开发人员。至此,高层人士正在考虑将用C#编写的现有.NET项目转移到Java世界中。 除了从头开始完全出现 的明显问题之外,该公司还可以通过哪些可行的方法成功地将项目从.NET C#移植到Java? 问题答案: 这里是要考虑的事情: 这是大项目吗?如果是,请尝试使用C# 这个中型项目是否包含组件?如果否,请尝试使用C
我是Android Studio的新手。需要将一个旧项目迁移到Android Studio 首先,我收到了这个错误: Android插件与Android渐变插件不兼容。请使用“注释处理器”。配置“编译”已过时,已替换为“实现”和“api”。它将于2018年底删除。欲了解更多信息... 然后,当我进行更改并替换我需要的内容时,我收到了这个错误: 键盘|屏幕大小|方向| '与不兼容...
迁移数据库ORM层 迁移模板Blade 迁移分页 迁移验证器 迁移Cache
数据库 模板类 验证器 缓存类