Хорошо, я пытаюсь получить данные из Web API, которые я сделал в угловом формате.Web API работает. Я тестировал его с помощью Postman, и Postman получает данные из Web API просто отлично, вот скриншот Postman, получающего данные из Web API "http://prntscr.com/nr18ct".Это делает меня уверенным, что это проблема с угловым.И я извиняюсь, если я не вижу смысла или если остальная часть вопроса / поста придумана впервые, задавая вопрос здесь.
Я следовал угловому учебнику на Angular.io Iна самом деле не знаю, чем это может быть вызвано, просто сказать, что он прекрасно работал до того, как я выполнил последнюю часть руководства, которая пытается получить данные из Web API.Моей первой мыслью было, может быть, я кое-что нашел в классе PagedVehicleMake в angular (класс машинописи) или в классе VehicleMake также в классе angular и машинописи
часть Web API: как вы видели на снимке экрана, который я отправлял ранееВеб-API отправляет данные этого типа.
public class PagedResult<T> : IPagedResult<T> where T : class
{
public int PageNumber { get; set; }
public int PageSize { get; set; }
public int TotalNumberOfPages { get; set; }
public IEnumerable<T> Results { get; set; }
}
и IEnumrable Results в этом случае - IEnumrable Results, а VehicleMakeVM:
public class VehicleMakeVM
{
public int Id { get; set; }
public string Name { get; set; }
public string Abrv { get; set; }
}
Теперь для угловой части:
export class PagedVehicleMake{
Results : VehicleMake[];
TotalNumberOfPages : number;
PageSize : number;
PageNumber : number;
}
Я попытался организовать класс PagedVehicleMake таким же образом, как данные отправляются Почтальону, как показано на скриншоте, который я отправил.Я подумал, может быть, это как-то связано с этим.
export class VehicleMake {
Id : number;
Name : string;
Abrv : string;
}
и вот класс VehicleMakeService в угловом формате:
export class VehicleMakeService {
constructor(private http: HttpClient, private messageService : MessageService) { }
private vehiclemakesUrl = "http://localhost:53282/api/VehicleMake"
/**GET vehiclemakes from the server */
getVehicleMakes() : Observable<PagedVehicleMake>{
this.messageService.add("VehicleMakeService : fetched VehicleMakes")
return this.http.get<PagedVehicleMake>(this.vehiclemakesUrl).pipe(
catchError(this.handleError<PagedVehicleMake>("getVehicleMakes", []))
);
}
/**
* Handle Http operation that failed.
* Let the app continue.
* @param operation - name of the operation that failed
* @param result - optional value to return as the observable result
*/
private handleError<T> (operation = 'operation', result?: T) {
return (error: any): Observable<T> => {
// TODO: send the error to remote logging infrastructure
console.error(error); // log to console instead
// TODO: better job of transforming error for user consumption
this.log(`${operation} failed: ${error.message}`);
// Let the app keep running by returning an empty result.
return of(result as T);
};
}
/** Log a VehicleMakeService message with the MessageService */
private log(message: string) {
this.messageService.add(`VehicleMakeService: ${message}`);
}
Я ожидал, что он просто получит данные из WebAPI, но этокак-то не способен получить данные.