Как передать объект из WEB API CORE 2.0 в Angular 7? - PullRequest
0 голосов
/ 01 января 2019

Как передать объект из WEB API CORE 2.0 в Angular 7?Пожалуйста, дайте мне пример.Я получил object = null в Angular 7 и не понимаю почему.

Web Api Controller

[HttpGet]
[Produces("application/json")]
[Route("ListArtists")]
public JsonResult ListArtists()
{
    var artists = _context.Artists.ToList();
    return Json(new { results = artists });
}

POCO классы

public class Artist
{
    [Key]
    [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    public int id
    {
        get; set;
    }
    public FakeData fake { get; set; }
}
public class FakeData
{
    [Key]
    [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    public int id { get; set; }
    public string name { get; set; }
}

Угловые модели

export class Artist {
  id: number;
  fake: FakeData;
}
export class FakeData {
  id: number;
  name: string;
}

Получение данных в угловых координатах с использованием наблюдаемого

getArtistsList(): Observable<Artist[]> { 
  return this.http.get<Artist[]>(this.myAppUrl + 'api/ArtistsLibrary/ListArtists'); 
} 

компонента

artists_count: number;
  artists: Artist[];
  ngOnInit() {
    this.form = this.fb.group({ searchText: [null, null] });
    this.LoadData();
  }
  LoadData() {
    console.log("LoadData");
    console.log("checkedList=" + this.checkedList);
    const genre_storage = sessionStorage.getItem("genre");
    debugger;
    this._artistsService
      .getArtistsList()
      .pipe()
      .subscribe((artists: Artist[]) => {
        this.artists = artists;
        this.artists_count = artists.length;
      });
  }

1 Ответ

0 голосов
/ 01 января 2019

Вы можете создать метод в контроллере webapi для передачи объекта после сериализации в формат json.В angular вы можете позвонить по этому маршруту, используя angular service, чтобы получить этот json.JSON может быть сопоставлен с требуемым объектом javascript в angular.

Таким образом, вы можете передать объект C # из ядра asp.net в объект javascript в angular.

[HttpGet]
[Produces("application/json")]
[Route("ListArtists")]
public IActionResult ListArtists()
{
    var artists = _context.Artists.ToList();
    return Ok(artists);
}

Попробуйте проверитьесли конечная точка URL дает вам данные JSON.Это проблема разбора.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...