1. Введение
С развитием веб-технологий появилось бесчисленное множество различных фреймворков, интерфейсных и серверных. Инженеры полного стека находятся под растущим давлением. Разработка приложений для ПК, планшетов и мобильных устройств (Android/IOS) делает интегрированную модель разработки внешнего и внутреннего интерфейса очень громоздкой. Таким образом, разделение интерфейса и сервера является тенденцией веб-разработки.Среди них RESTful API является лучшей практикой разделения интерфейса и сервера, а веб-API ASP.NET является идеальной платформой для создание приложений RESTful на .NET Framework. Приложение Web API показано на рисунке ниже.
2. Введение в веб-API ASP.NET
Веб-API ASP.NET — это платформа, упрощающая создание служб HTTP, которые охватывают широкий спектр клиентов, включая браузеры и мобильные устройства. Веб-API ASP.NET — идеальная платформа для создания приложений RESTful на платформе .NET Framework. Среди них RESTful относится к стилю дизайна. GET, POST, PUT DELETE в REST используется для добавления, удаления, изменения и проверки данных. Если приложение разработчика соответствует принципу RESTful, его служба называется «службой приложений в стиле RESTful». .
Основной канал обработки сообщений веб-API ASP.NET не зависит от платформы ASP.NET, которая сложнее, чем дизайн ASP.NET MVC, и функция более мощная, поддерживает веб-хост и автономный хост (любой тип приложения, такие как управление обеими посадками, приложениями WINDOWS FORM, приложениями WPF и даже службой Windows, в этой статье в основном представлен первый способ. Весь жизненный цикл веб-API показан на следующем рисунке.
3. Вручную создайте базовую структуру
Visual Studio предоставляет нам шаблон проекта, специально используемый для создания приложений веб-API ASP.NET.С помощью мастера, предоставляемого этим шаблоном проекта, мы можем создать полный проект веб-API ASP.NET «одним щелчком мыши». В процессе создания проекта Visual Studio автоматически добавит нам необходимые ссылки на сборки и конфигурации и даже автоматически сгенерирует для нас соответствующий код.Одним словом: сам этот сгенерированный мастером проект - исполняемое приложение. Автор не будет демонстрировать здесь процесс автоматического создания, а сосредоточится на ручном построении, чтобы мы могли глубже понять принцип работы Web API.
(1) Создайте пустое веб-приложение ASP.NET.
В VS2017 выберите веб-приложение ASP.NET (.NET Framework) и выберите .NET Framework4.5 в качестве платформы, как показано на следующем рисунке.
Выберите пустой проект и удалите параметры MVC и Web API, как показано на следующем рисунке.
(2) Загрузите и установите Microsoft.Asp.Net.Api через NuGet.
Щелкните проект правой кнопкой мыши, выберите [Управление пакетами NuGet], найдите WebAPI, выберите Microsoft.Asp.Net.Api и нажмите кнопку [Установить] справа, чтобы завершить установку, как показано на следующем рисунке.
(3) Добавьте глобальный класс приложения Global.asax.
Щелкните проект правой кнопкой мыши, добавьте новый элемент и выберите Global Application Class, как показано на следующем рисунке.
global.asax — это текстовый файл, содержащий глобально доступный код. Этот код включает в себя обработчики событий приложения, а также события сеанса, методы и статические переменные. Иногда этот файл также называют файлом приложения. Откройте файл, код выглядит следующим образом, и будет обнаружено, что файл содержит запись веб-приложения Application_Start, аналогичную основной функции приложения WinForm.
namespace MyWebAPI
{
public class Global : System.Web.HttpApplication
{
protected void Application_Start(object sender, EventArgs e)
{
}
protected void Session_Start(object sender, EventArgs e)
{
}
protected void Application_BeginRequest(object sender, EventArgs e)
{
}
protected void Application_AuthenticateRequest(object sender, EventArgs e)
{
}
protected void Application_Error(object sender, EventArgs e)
{
}
protected void Session_End(object sender, EventArgs e)
{
}
protected void Application_End(object sender, EventArgs e)
{
}
}
}
(4) Зарегистрируйте маршрут веб-API
Система маршрутизации является первым барьером на пути сообщения запроса к конвейеру обработки сообщений веб-API ASP.NET.Ее основная цель — проанализировать URL-запрос, который будет подробно объяснен в следующей серии статей и не будет подробно объяснено здесь.
Зарегистрируйте маршрут веб-API в функции Application_Start, код выглядит следующим образом:
protected void Application_Start(object sender, EventArgs e)
{
GlobalConfiguration.Configuration.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional });
}
(5) Добавить контроллер веб-API
Щелкните проект правой кнопкой мыши, добавьте новый элемент и выберите класс контроллера веб-API, как показано на следующем рисунке.
Откройте файл ValuesController.cs и обнаружите, что этот класс напрямую наследуется от ApiController и содержит такие действия, как GET, POST, PUT DELETE и т. д. Код выглядит следующим образом, контроллер будет подробно объяснен в последующих сериях статей, но это не объясняется здесь.
public class ValuesController : ApiController
{
// GET api/<controller>
public IEnumerable<string> Get()
{
return new string[] { "value1", "value2" };
}
// GET api/<controller>/5
public string Get(int id)
{
return "value";
}
// POST api/<controller>
public void Post([FromBody]string value)
{
}
// PUT api/<controller>/5
public void Put(int id, [FromBody]string value)
{
}
// DELETE api/<controller>/5
public void Delete(int id)
{
}
}
(6) Вызов веб-API
Запустить программу (автоматически создать службу IIS), ввести в адресную строкуhttp://localhost:52317/api/Values вызывает метод Get() в ValuesController, и результат вызова, отображаемый Google Browsing, выглядит следующим образом.
4. Резюме
На данный момент базовое введение в веб-API ASP.NET и подробные шаги по ручному созданию базовой структуры веб-API завершены. С помощью этого блога читатели могут получить более глубокое понимание и понимание веб-API. Если в статье есть какие-либо недостатки, пожалуйста, с нетерпением ждите Haihan. Нелегко писать сообщения в блоге. Я надеюсь, что будет добавлена дополнительная поддержка , Больше контента будет обновлено в будущем. Заинтересованные друзья могут уделить больше внимания. ! В то же время, добро пожаловать на сканирование общедоступной учетной записи WeChat ниже, чтобы получить больше сухих товаров! !