public async Task <ActionResult <GiveMeSpaceResponse> > Get() { //Most recent Curiosity photos - usually two days behind - empty result for current or previous day var twoDaysAgo = DateTime.Today.Date.AddDays(-2).ToString("yyyy-MM-dd"); using (var client = new HttpClient()) { try { //Astronomy Pic of the Day var responseApod = await client.GetAsync("https://api.nasa.gov/planetary/apod?api_key=" + nasaKey); var jsonStringApod = await responseApod.Content.ReadAsStringAsync(); var apodData = JsonConvert.DeserializeObject <AstronomyPicOfDayResponse>(jsonStringApod); var astronomyPicOfDay = new AstronomyPicOfDayResponse { Date = apodData.Date, Title = apodData.Title, Explanation = apodData.Explanation, HdUrl = apodData.HdUrl, Media_Type = apodData.Media_Type, Url = apodData.Url, Service_Version = apodData.Service_Version }; //Curiosity Pics and Data var responseMarsPhoto = await client.GetAsync("https://api.nasa.gov/mars-photos/api/v1/rovers/curiosity/photos?earth_date=" + twoDaysAgo + "&api_key=" + nasaKey); var jsonStringMarsPhoto = await responseMarsPhoto.Content.ReadAsStringAsync(); var photoData = JsonConvert.DeserializeObject <Mars>(jsonStringMarsPhoto); var curiosityPhotosResponse = new CuriosityPhotosResponse[] { }; if (photoData != null) { curiosityPhotosResponse = photoData.Photos; } //Space Data var giveMeSpaceResponse = new GiveMeSpaceResponse { AstronomyPicOfDayResponse = astronomyPicOfDay, CuriosityPhotosResponse = curiosityPhotosResponse }; return(giveMeSpaceResponse); } catch (HttpRequestException httpRequestException) { return(BadRequest($"Error: {httpRequestException.Message}")); } } }
public async Task <ActionResult <GiveMeSpaceResponse> > Get(DateTime date) { string dateString = date.ToString("yyyy-MM-dd"); using (var client = new HttpClient()) { try { //Astronomy Pic Of Day by Date var responseApodDate = await client.GetAsync("https://api.nasa.gov/planetary/apod?date=" + dateString + "&api_key=" + nasaKey); var jsonStringApodDate = await responseApodDate.Content.ReadAsStringAsync(); var apodData = JsonConvert.DeserializeObject <AstronomyPicOfDayResponse>(jsonStringApodDate); var astronomyPicOfDay = new AstronomyPicOfDayResponse { Date = apodData.Date, Title = apodData.Title, Explanation = apodData.Explanation, HdUrl = apodData.HdUrl, Media_Type = apodData.Media_Type, Url = apodData.Url, Service_Version = apodData.Service_Version }; //Curiosity Pics and Data by Date var responseMarsPhotoDate = await client.GetAsync("https://api.nasa.gov/mars-photos/api/v1/rovers/curiosity/photos?earth_date=" + dateString + "&api_key=" + nasaKey); var jsonStringMarsPhotoDate = await responseMarsPhotoDate.Content.ReadAsStringAsync(); var photoData = JsonConvert.DeserializeObject <Mars>(jsonStringMarsPhotoDate); var curiosityPhotosResponse = photoData.Photos; //Space Data var giveMeSpaceResponse = new GiveMeSpaceResponse { AstronomyPicOfDayResponse = astronomyPicOfDay, CuriosityPhotosResponse = curiosityPhotosResponse }; return(giveMeSpaceResponse); } catch (HttpRequestException httpRequestException) { return(BadRequest($"Error: {httpRequestException.Message}")); } } }