Серия веб-API (1): Знакомство с веб-API и построение базовой платформы вручную

API
Серия веб-API (1): Знакомство с веб-API и построение базовой платформы вручную

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 ниже, чтобы получить больше сухих товаров! !