События
Конференция сообщества Microsoft 365
6 мая, 14 - 9 мая, 00
Навыки для эпохи ИИ в конечном итоге сообщество под руководством Microsoft 365, 6-8 мая в Лас-Вегасе.
ПодробнееЭтот браузер больше не поддерживается.
Выполните обновление до Microsoft Edge, чтобы воспользоваться новейшими функциями, обновлениями для системы безопасности и технической поддержкой.
При создании приложений часто взаимодействуют с внутренними API. Иногда эти API еще недоступны или другие команды обновляют их в соответствии с последними требованиями. Чтобы избежать ожидания, обычно создается макет API, который возвращает необходимые данные. Хотя этот подход разблокирует вас, это требует времени для создания API, который вы в конечном итоге заменяете реальным. Чтобы избежать тратить время, можно использовать прокси разработки для имитации API CRUD и ускорения разработки.
Используя CrudApiPlugin
, вы можете симулировать API CRUD (создание, чтение, обновление, удаление) с использованием внутренняего хранилища данных. С помощью простого файла конфигурации можно определить URL-адреса, поддерживаемые API макета и возвращаемые им данные. Плагин также поддерживает CORS для кросс-доменного использования в клиентских приложениях.
MockResponsePlugin
позволяет вам определять статические макетные ответы, а CrudApiPlugin
— динамический макетный API, который можно использовать для взаимодействия с данными и наблюдения за изменениями, отраженными в макетном наборе данных.
Предположим, вы создаете приложение, которое позволяет пользователям управлять клиентами. Чтобы получить данные, необходимо вызвать /customers
конечную точку серверного API. Чтобы избежать ожидания завершения работы серверной команды, вы решили использовать прокси разработки для имитации API и возврата необходимых данных.
Начните с включения CrudApiPlugin
и настройки его для использования файла customers-api.json
.
{
"name": "CrudApiPlugin",
"enabled": true,
"pluginPath": "~appFolder/plugins/dev-proxy-plugins.dll",
"configSection": "customersApi"
}
{
"customersApi": {
"apiFile": "customers-api.json"
}
}
В файле вы определяете API тестовых клиентов customers-api.json
.
{
"$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v0.24.0/crudapiplugin.schema.json",
"baseUrl": "https://api.contoso.com/v1/customers",
"dataFile": "customers-data.json",
"actions": [
{
"action": "getAll"
},
{
"action": "getOne",
"url": "/{customer-id}",
"query": "$.[?(@.id == {customer-id})]"
},
{
"action": "create"
},
{
"action": "merge",
"url": "/{customer-id}",
"query": "$.[?(@.id == {customer-id})]"
},
{
"action": "delete",
"url": "/{customer-id}",
"query": "$.[?(@.id == {customer-id})]"
}
]
}
В свойстве baseUrl
определяется базовый URL-адрес api макета. В свойстве dataFile
определяется файл, содержащий макет данных клиента. В свойстве actions
определяются поддерживаемые действия и их сопоставление с методами и URL-адресами HTTP. Вы хотите использовать API для:
GET /v1/customers
GET /v1/customers/{customer-id}
POST /v1/customers
PATCH /v1/customers/{customer-id}
DELETE /v1/customers/{customer-id}
В ваших URL-адресах вы используете параметр {customer-id}
, который плагин заменяет фактическим идентификатором клиента из URL. Плагин также использует параметр {customer-id}
в запросе JSONPath для поиска клиента в файле данных.
customers-data.json
В файле определяется макет данных клиента.
[
{
"id": 1,
"name": "Contoso",
"address": "4567 Main St Buffalo, NY 98052"
},
{
"id": 2,
"name": "Fabrikam",
"address": "4567 Main St Buffalo, NY 98052"
}
]
Вы запускаете прокси-сервер разработки и вызываете конечную точку https://api.contoso.com/v1/customers
. Прокси-сервер разработки перехватывает запрос и возвращает макет данных клиента.
[
{
"id": 1,
"name": "Contoso",
"address": "4567 Main St Buffalo, NY 98052"
},
{
"id": 2,
"name": "Fabrikam",
"address": "4567 Main St Buffalo, NY 98052"
}
]
Дополнительные сведения о CrudApiPlugin.
См. также связанные примеры Dev Proxy:
Отзыв о Dev Proxy
Dev Proxy — это проект с открытым исходным кодом. Выберите ссылку, чтобы оставить отзыв:
События
Конференция сообщества Microsoft 365
6 мая, 14 - 9 мая, 00
Навыки для эпохи ИИ в конечном итоге сообщество под руководством Microsoft 365, 6-8 мая в Лас-Вегасе.
ПодробнееОбучение
Модуль
Erstellen einer Web-API mit ASP.NET Core-Controllern - Training
Erstellen eines RESTful-Diensts mit ASP.NET Core-Controllern, die CRUD-Vorgänge (Create, Read, Update, Delete) unterstützen.