Лучший способ публикации в. Net Core Web API - PullRequest
0 голосов
/ 21 февраля 2020

Я создал веб-API с. Net Core. В настоящее время у меня есть форма от отправки страницы .cshtml на обычный контроллер MVC и последующего использования метода HTTP Post для отправки на конечную точку Web API.

Лучше ли размещать сообщения прямо из формы на .cshtml до конечной точки WebApi?

Я относительно новичок, поэтому не уверен, что лучше.

Ответы [ 3 ]

1 голос
/ 21 февраля 2020

Хотя текущий подход верен: вы публикуете некоторые данные на контроллере внутри вашего приложения, а затем делаете что-то с этими данными (в этом случае отправляете их обратно в Web API). Почему правильно? Потому что вы можете выполнять все виды проверок внутри контроллера перед отправкой любых данных в Web API (например, проверка данных, преобразования, состав и т. Д. c ...). Кроме того, я не уверен, что вы можете публиковать сообщения непосредственно в веб-API, используя методы Blazor для сообщений. Я думаю, что для этого вам нужно написать форму с использованием простого HTML, а затем определить событие отправки с помощью Javascript, где вы, наконец, публикуете данные формы в Web API. Но опять же, я думаю, что нынешний подход хорош (если не оптимален)

0 голосов
/ 21 февраля 2020

Используйте веб-API, если вы хотите иметь дело только с данными или HTTP-кодами состояния, то есть не ожидая возврата HTML. Типичные сценарии использования с точки зрения веба - это любая асинхронная связь через Javascript (собственный JS, Vue, Angular, React, JQuery, et c ....)

Если вы ожидаете, что HTML будет возвращено, используйте MVC или любую другую платформу представления, которую вы хотите использовать. В этом случае вполне нормально вызывать другие API из контроллера MVC.

0 голосов
/ 21 февраля 2020

это неплохое решение, но если ваш API общедоступен (не только из вашего веб-проекта с контроллерами mvc), я бы предложил разместить его непосредственно в API.

Отправлять напрямую в API сокращает количество циклов А также проверка и все должно обрабатываться API.

...