использование asp.net mvc для основанной на REST конечной точки

Как уже указывалось в комментариях, проблема с вашим кодом заключается в том, что вы не ставили перед ngFor звездочку, необходимую для ne *ngFor. Нет проблем при вызове сервисов из OnInit.

Я также создал образец StackBlitz из вашего кода, который демонстрирует его работу.

5
задан jpbochi 23 December 2009 в 19:58
поделиться

3 ответа

После того, чтобы читать сообщение Haack, об использовании расширений для указания на тип контента я думаю более обеспеченное выключение Принять Заголовка. Кажется большим количеством Rest'ish мне, хотя предоставлено немного более трудно разжечь браузер и протестировать Ваш URL.

Я через вместе немного статьи блога о выполнении этого и использовании ModelBinder к краткому обзору HttpContext от Вашего контроллера: http://jberke.blogspot.com/2009/03/aspnet-mvc-model-binder.html.

Дополнительно в ответ на Трою подписываются на комментарий, я использовал представление для рендеринга Xml моей модели. Это позволило мне иметь различные xml форматы для той же модели. Который имеет смысл. Что, если необходимо поддерживать управление версиями или различные форматы для различных клиентов. Мне не нравится идея платформы, автоматически представляющей ничто.

2
ответ дан 14 December 2019 в 09:01
поделиться

Вы могли бы хотеть смотреть на это сообщение в блоге и следующее обсуждение от Phil Haack:

http://haacked.com/archive/2009/01/06/handling-formats-based-on-url-extension.aspx

Его код использует требуемое расширение файла (.html,.json,.xml) для определения вывода, но Вы могли так же, как легко использовать Принятый закодированный (или оба).

Примечание: Я оставил комментарий к сообщению Phil, и все еще чувствуйте сильно, что действия должны потребоваться, чтобы "подписываться", к которому, представляя методы они поддерживают. С HTML, представляющим Вас, управляют, сколько из видеоданных отображено конечному пользователю. XML/JSON, представляющий, вероятно, представил бы все, что Вы передаете в видеоданные, независимо от того, предназначили ли Вы это, чтобы быть публично видимыми или нет.

2
ответ дан 14 December 2019 в 09:01
поделиться

Решение Хаака, безусловно, не лучший способ решить эту проблему, хотя это хорошая отправная точка.

Для начала, если вы работаете с Entity Framework (или решили переключиться из Linq в SQL позже) JsonResult сломается, потому что он не может сериализовать графы объектов с циклическими ссылками (обычно большинство моделей данных). Во-вторых, он предоставляет несколько конечных точек для одного и того же ресурса.

Правильный способ сделать это - посмотреть HTTP-заголовок X-Requested-With , чтобы определить, является ли это запросом XHR. Или Content-Type: text / xml заголовок запроса для XML.

Я бы порекомендовал вам установить плагин Firefox для тестирования REST , который имитирует запросы XHR. Плагин Tamper Data и некоторые другие позволяют лучше контролировать тестирование / отладку. WFetch - это простой инструмент HTTP-запросов, который также важен для тестирования и отладки.

Я написал фильтр действий JSON / POX для выполнения именно этого. Вам просто нужно украсить свои классы или методы атрибутом [JsonPox] , и они будут автоматически отображаться как JSON или XML в зависимости от клиента.

3
ответ дан 14 December 2019 в 09:01
поделиться
Другие вопросы по тегам:

Похожие вопросы: