我正在尝试使用以下Web服务
@POST
@Path("/delete")
@Produces(MediaType.APPLICATION_JSON)
public boolean deletePost(@QueryParam("idPost") String idPost) {
// logic here
}
但是,尝试从angular分配一个值给QueryParam idPost不起作用。 idPost始终以null值到达。
尝试使用文档中指定的2种形式,但对我不起作用。我究竟做错了什么?
public deletePost(idPost: number): Observable<any> {
const options = idPost ?
{ params: new HttpParams().set('idPost', idPost.toString()) } : {};
return this.httpClient.post('url-delete',options);
}
public deletePost(idPost: number): Observable<any> {
const params = new HttpParams({fromString: 'idPost=' + idPost.toString()});
return this.httpClient.post('url-delete',params);
}
最佳答案
post
中的第二个参数是正文,选项应为json,例如:
const options = { params: new HttpParams().set('name', 'xxx') }
现在像这样调用它:
public deletePost(idPost: number): Observable<any> {
const options = {params: new HttpParams({fromString: 'idPost=' + idPost.toString()})};
return this.httpClient.post('url-delete',{}, options); // empty body
}