我在Angular中有这段代码,我需要获取这个simboxid并将其发送到java端点。
mno.components.ts ngOnInit(( {
this.mList.getMnosList().then(data=>this.mnos = data);
}
mno.service.ts
getMnosList() {
var simboxid = this.getItem.id;
return this.http.get(`${environment.apiUrl}/MNO` + ['simboxid'] )
.toPromise()
.then(res => <mno[]> res)
.then(data => {
return data;
});
移动网络运营商
export interface mno{
id;
name;}
在爪哇中:
@Entity
@Table(name="MNO")
public class MNOList {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
int id;
int simbox_id;
public int getSimbox_id() {
return simbox_id;
}
public void setSimbox_id(int simbox_id) {
this.simbox_id = simbox_id;
}
String name;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
Java 端点:
@Path("/MNO")
@ApplicationScoped
@Produces("application/json")
public class MnoListPoint {
@Inject
EntityManager em;
@GET
public String get(@QueryParam("simboxid") String id) {
return JsonbBuilder.create().toJson(em.createNamedQuery("Select m from MnoList where simbox_id = :simboxid").setParameter("simboxid", id).getResultList());
}
}
帮助我了解如何在单击特定 simbox 时获取此simbox_id。
这是我需要的 id,因为这 2 个表 simbox 和 Mno 已连接。
从您的mno.service.ts
服务:
getMnosList() {
var simboxid = this.getItem.id;
return this.http.get(`${environment.apiUrl}/MNO?simboxid=${simboxid}` )
.pipe(map(this.extractData)),
this.catchError);
或者使用 HttpParams
发送查询参数:'
import { HttpClient, HttpParams } from '@angular/common/http';
getMnosList() {
var simboxid = this.getItem.id;
let params = new HttpParams().set('simboxid', simboxid);
return this.http.get(`${environment.apiUrl}/MNO`, { params: params } )
.pipe(map(this.extractData)),
this.catchError);
private extractData(res: any): any {
return res.data || []; // or do what needs to be done
}
private catchError = (observable: Observable<any>): Observable<never> => {
return <Observable<never>>observable.pipe(catchError((error: any) => {
return observableThrowError(error || 'Server error');
}));
}
在您的组件中,只需订阅服务:
this.mList.getMnosList().subscribe(data => { this.mnos = data })