0
私はNASAのOpen APIを使用する小さなアプリケーションで作業しています。私は現在、写真が返されているローバーに応じて、それぞれの要求に対してコントローラを持っています。これらの2つのコントローラを1つに組み合わせて、写真が返されるローバーを選択できるようにしたいと思います。Angularコントローラで2つのAPIリクエストを組み合わせる
app.controller('OpportunityController', function($scope, $http) {
// get date
let today = new Date();
let dd = today.getDate() - 5;
let mm = today.getMonth() + 1;
let yyyy = today.getFullYear();
if (dd < 10) {
dd = '0' + dd
}
if (mm < 10) {
mm = '0' + mm
}
today = yyyy + '-' + mm + '-' + dd;
// set variables
$scope.baseUrl = "https://api.nasa.gov/mars-photos/api/v1/rovers/";
$scope.rover = ["Opportunity"];
$scope.date_params = "/photos?earth_date=" + today;
$scope.searchParams = $scope.rover + $scope.date_params;
$scope.key = "&api_key=API_KEY";
// request
$http.get($scope.baseUrl + $scope.searchParams + $scope.key)
.success(function(result) {
$scope.photos = result.photos;
console.log($scope.photos);
})
.error(function(error) {
console.log(error);
});
});
app.controller('MarsController', function($scope, $http) {
// get date
let today = new Date();
let dd = today.getDate()-1;
let mm = today.getMonth()+1;
let yyyy = today.getFullYear();
if(dd<10) {
dd='0'+dd
}
if(mm<10) {
mm='0'+mm
}
today = yyyy+ '-' +mm+ '-' +dd;
// set variables
$scope.baseUrl = "https://api.nasa.gov/mars-photos/api/v1/rovers/";
$scope.rover = ["Curiosity"];
$scope.date_params = "/photos?earth_date=" + today;
$scope.searchParams = $scope.rover + $scope.date_params;
$scope.key = "&api_key=API_KEY";
// request
$http.get($scope.baseUrl + $scope.searchParams + $scope.key)
.success(function(result) {
$scope.photos = result.photos;
console.log($scope.photos);
})
.error(function(error){
console.log(error);
});
});