我不知道如何对这样的方法进行API调用:
[HttpGet]
[ActionName("GetSupport")]
public HttpResponseMessage GetSupport(int projectid)
Run Code Online (Sandbox Code Playgroud)
因为它是GET但仍然有一个参数要通过,怎么做?它会是这样的吗?
let headers = new Headers();
headers.append('Content-Type', 'application/json');
headers.append('projectid', this.id);
this.http.get('http://localhost:63203/api/CallCenter/GetSupport', { headers: headers })
Run Code Online (Sandbox Code Playgroud)
DGa*_*ski 75
有这样的事情:
let headers = new Headers();
headers.append('Content-Type', 'application/json');
headers.append('projectid', this.id);
let params = new URLSearchParams();
params.append("someParamKey", this.someParamValue)
this.http.get('http://localhost:63203/api/CallCenter/GetSupport', { headers: headers, search: params })
Run Code Online (Sandbox Code Playgroud)
当然,附上你需要的每一个参数params.它比仅使用URL字符串将params传递给请求提供了更多的灵活性.
编辑(28.09.2017):正如Al-Mothafar在评论中所述,search从Angular 4开始被弃用,所以你应该使用params
编辑(02.11.2017):如果您正在使用新的HttpClient,现在有HttpParams,看起来和使用如下:
let params = new HttpParams().set("paramName",paramValue).set("paramName2", paramValue2); //Create new HttpParams
Run Code Online (Sandbox Code Playgroud)
然后将params添加到请求中,基本上,以相同的方式:
this.http.get(url, {headers: headers, params: params});
//No need to use .map(res => res.json()) anymore
Run Code Online (Sandbox Code Playgroud)
更多的文档HttpParams和HttpClient
Yas*_*ldi 10
对于 Angular 9+,您可以直接添加标题和参数,而无需键值概念:
const headers = new HttpHeaders().append('header', 'value');
const params = new HttpParams().append('param', 'value');
this.http.get('url', {headers, params});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
109737 次 |
| 最近记录: |