如何将 http 模块从 angular 4 更改为 angular 7
How to change the http module from angular 4 to angular 7
我正在关注 angular 4 个教程。但我需要将其修改为 angular 7。但是以下代码段在 Http 模块和 Observable
上给出了错误
这是 user.service.ts 文件
import { Injectable } from '@angular/core';
import{Http, Response, Headers, RequestOptions} from '@angular/http';
import{Observable} from 'rxjs/Observable';
import 'rxjs/add/operator/map';
import 'rxjs/add/operator/catch';
import 'rxjs/add/observable/throw';
import{User} from '../user';
@Injectable()
export class UserService {
private baseUrl:string='http://localhost:8080/api';
private headers = new Headers({'Content-Type':'application/json'});
private options = new RequestOptions({headers:this.headers});
private user = new User();
constructor(private _http:Http) { }
getUsers(){
return this._http.get(this.baseUrl+'/users',this.options).map((response:Response)=>response.json())
.catch(this.errorHandler);
}
getUser(id:Number){
return this._http.get(this.baseUrl+'/user/'+id,this.options).map((response:Response)=>response.json())
.catch(this.errorHandler);
}
deleteUser(id:Number){
return this._http.delete(this.baseUrl+'/user/'+id,this.options).map((response:Response)=>response.json())
.catch(this.errorHandler);
}
createUser(user:User){
return this._http.post(this.baseUrl+'/user',JSON.stringify(user), this.options).map((response:Response)=>response.json())
.catch(this.errorHandler);
}
updateUser(user:User){
return this._http.put(this.baseUrl+'/user',JSON.stringify(user), this.options).map((response:Response)=>response.json())
.catch(this.errorHandler);
}
errorHandler(error:Response){
return Observable.throw(error||"SERVER ERROR");
}
setter(user:User){
this.user=user;
}
getter(){
return this.user;
}
}
要在 angular 7 上 运行 应该更改什么?以上代码段来自angular 4. 非常感谢
的回答
根据我的经验,Maven 是使用最广泛的。实际上,我刚刚完成了一个与 Maven 结合的大型 Spring 项目。
我在一家员工超过 100,000 人的公司工作,唯一提供的支持是 Maven(企业级)。这是轶事,是的,但我可以说我的大学优先考虑 Maven,我过去和现在的所有同事都使用过 Maven。
然而,这并不是说 Gradle 或 Ant 不是可靠的选择。有很多文章详细介绍了这些差异。参见:https://www.baeldung.com/ant-maven-gradle
我正在关注 angular 4 个教程。但我需要将其修改为 angular 7。但是以下代码段在 Http 模块和 Observable
上给出了错误这是 user.service.ts 文件
import { Injectable } from '@angular/core';
import{Http, Response, Headers, RequestOptions} from '@angular/http';
import{Observable} from 'rxjs/Observable';
import 'rxjs/add/operator/map';
import 'rxjs/add/operator/catch';
import 'rxjs/add/observable/throw';
import{User} from '../user';
@Injectable()
export class UserService {
private baseUrl:string='http://localhost:8080/api';
private headers = new Headers({'Content-Type':'application/json'});
private options = new RequestOptions({headers:this.headers});
private user = new User();
constructor(private _http:Http) { }
getUsers(){
return this._http.get(this.baseUrl+'/users',this.options).map((response:Response)=>response.json())
.catch(this.errorHandler);
}
getUser(id:Number){
return this._http.get(this.baseUrl+'/user/'+id,this.options).map((response:Response)=>response.json())
.catch(this.errorHandler);
}
deleteUser(id:Number){
return this._http.delete(this.baseUrl+'/user/'+id,this.options).map((response:Response)=>response.json())
.catch(this.errorHandler);
}
createUser(user:User){
return this._http.post(this.baseUrl+'/user',JSON.stringify(user), this.options).map((response:Response)=>response.json())
.catch(this.errorHandler);
}
updateUser(user:User){
return this._http.put(this.baseUrl+'/user',JSON.stringify(user), this.options).map((response:Response)=>response.json())
.catch(this.errorHandler);
}
errorHandler(error:Response){
return Observable.throw(error||"SERVER ERROR");
}
setter(user:User){
this.user=user;
}
getter(){
return this.user;
}
}
要在 angular 7 上 运行 应该更改什么?以上代码段来自angular 4. 非常感谢
的回答根据我的经验,Maven 是使用最广泛的。实际上,我刚刚完成了一个与 Maven 结合的大型 Spring 项目。
我在一家员工超过 100,000 人的公司工作,唯一提供的支持是 Maven(企业级)。这是轶事,是的,但我可以说我的大学优先考虑 Maven,我过去和现在的所有同事都使用过 Maven。
然而,这并不是说 Gradle 或 Ant 不是可靠的选择。有很多文章详细介绍了这些差异。参见:https://www.baeldung.com/ant-maven-gradle