如何在HTTP GET请求中传递简单的整数参数?

时间:2018-07-11 12:28:21

标签: angular angular-httpclient

我的组件中包含以下代码,该代码应将ID发送给WebApiController并取回一些数据。但是我不能简单地将参数传递给方法。我已经尝试了很多可用的解决方案,但是都没有成功。

getUser(id){
    this._http.get('http://localhost:53226/api/UserAPI/GetSpecificUser', id) // is there a simple way to do this?
    .subscribe((result: any) => {
    this.specificuser = result.json();
    console.log(this.specificuser);
    });
}

编辑:

这是我控制器中的方法。

public UserModel GetSpecificUser(int id)
{
    var user = UserDB.Users.FirstOrDefault(x => x.id == id);

    var config = new MapperConfiguration(cfg => {
    cfg.CreateMap<User, UserModel>();
    });
    IMapper iMapper = config.CreateMapper();
    var destination = iMapper.Map<User, UserModel>(user);

    return destination;
}

4 个答案:

答案 0 :(得分:-1)

如果您的API类似于http://localhost:53226/api/UserAPI/GetSpecificUser/{userId},请使用以下代码

代替此

this._http.get('http://localhost:53226/api/UserAPI/GetSpecificUser', id)

使用此:

this._http.get('http://localhost:53226/api/UserAPI/GetSpecificUser/' + id)

如果您的API不同,请使用上述技术(使用+)来构造适当的查询字符串。

答案 1 :(得分:-3)

如果我没听错你的问题,那么我只会告诉你使用

将id转换为整数
this._http.get('http://localhost:53226/api/UserAPI/GetSpecificUser',parseInt(id))

希望它能为您提供帮助。

答案 2 :(得分:-3)

如果无法正常工作,请使用此工具

getUser(id){
    this._http.get('http://localhost:53226/api/UserAPI/GetSpecificUser?'+id) // is there a simple way to do this?
    .subscribe((result: any) => {
    this.specificuser = result.json();
    console.log(this.specificuser);
    });
}

答案 3 :(得分:-3)

使用post()可以帮助

getUser(id){
   this._http.post('http://localhost:53226/api/UserAPI/GetSpecificUser', id)
   .pipe(map(result: any) => {
        this.specificuser = result.json();
        console.log(this.specificuser);
   });
}