私はログインのためのAPIを持っていますが、私は新しいIonicでログインの正しい方法を作ることができません。
これは私のサービスです:providers / restapi / restapi.ts
import { HttpClient } from '@angular/common/http';
import { Injectable } from '@angular/core';
/*
Generated class for the RestapiProvider provider.
*/
@Injectable()
export class RestapiProvider {
apiUrl = 'http://192.168.1.10/honeybee/register';
constructor(public http: HttpClient) {
console.log('Hello RestapiProvider Provider');
}
getUsers(endpoint: string, body: any, reqOpts?: any) {
return this.http.post(this.apiUrl+'/user_Login' + endpoint, body, reqOpts);
}
}
これは私のlogin.tsです
import { Component } from '@angular/core';
import { IonicPage, NavController, NavParams } from 'ionic-angular';
import { RestapiProvider } from '../../providers/restapi/restapi';
/**
* Generated class for the LoginpagePage page.
*
* See https://ionicframework.com/docs/components/#navigation for more info.
* Ionic pages and navigation.
*/
@IonicPage()
@Component({
selector: 'page-loginpage',
templateUrl: 'loginpage.html',
})
export class LoginpagePage {
users: any;
constructor(public navCtrl: NavController, public navParams: NavParams,
public restProvider: RestapiProvider) {
this.getloginUsers();
}
ionViewDidLoad() {
console.log('ionViewDidLoad LoginpagePage');
}
getloginUsers() {
this.restProvider.getUsers()
.then(data => {
this.users = data;
console.log(this.users);
});
}
}
私はイオンに慣れていないので、getUsers()メソッドでパラメータを渡すことができません。正しい方法を教えてください。
Observablesに依存するHttpClientでAngular 4.3+を使用しているプロバイダに基づいているようです。ここをクリックして、適切に呼び出しを実装する方法の詳細を参照してください。https://angular.io/guide/http
あなたの場合、プロバイダのgetUsers()メソッドがあります:
getUsers(endpoint: string, body: any, reqOpts?: any) {
return this.http.post(this.apiUrl+'/user_Login' + endpoint, body, reqOpts);
}
Observableを返すので、それを購読して "行動する"必要があります。
ですから、コンポーネントコードには次のようなものが必要です。
getloginUsers() {
this.restProvider.getUsers().subscribe(
(data) => {
this.users = data;
},
(error) => {
console.log(error);
})
}
また、getUsersメソッドには多くの引数(エンドポイント、ボディなど)が必要です。それらを渡すことを忘れないでください)