Как получить объект из API и сопоставить его с угловой моделью? - PullRequest
0 голосов
/ 26 июня 2018

Я хочу получить модель из моего API.

Для этого я использую метод:

    [HttpGet]
    public MyModel GetModel()
    {
        MyModel model = new MyModel() { ... };

        return model;
    }

Как я могу получить результат модели в угловых и как мне сопоставить MyModel с моей угловой моделью?

У меня есть следующее:

getModel() {
    var url = '/MyController/GetModel/';
    this.http.get(url)
        .map((data: Response) => {
            return data.json() as MyModel;
        })
        .toPromise().then(x => {
            this.myModel = x;
        })
}

, который я называю в ngOnInit моего компонента.

Но я получаю сообщение об ошибке:

Uncaught (in promise): SyntaxError: JSON.parse: unexpected end of data at line 1 column 1 of the JSON data

Что не так с моим угловым запросом?

Ответы [ 2 ]

0 голосов
/ 28 июня 2018

У меня получилось так:

getModel() {
    var url = '/MyController/GetModel/';
    return this.http.get(url)
        .map((data: Response) => {
            return data.json();
        }).toPromise().then(x => {
            this.myModel = new MyModel(x);
        })
}

MyModel должен иметь конструктор, принимающий json строку.

0 голосов
/ 26 июня 2018

http.get принимает общий так что вы можете сделать это.

  getModel() {
        var url = '/MyController/GetModel/';
        this.http.get<MyModel>(url).toPromise().then(x => {
                this.myModel = x;
        });
    }

, если модель под вашим углом не отличается от модели от API

...