CRUD API'si benzetimi
Uygulama oluştururken genellikle arka uç API'leriyle etkileşim kurarsınız. Bazen bu API'ler henüz kullanılamamaktadır veya diğer ekipler bunları en son gereksinimleri karşılayacak şekilde güncelleştirmektedir. Beklemekten kaçınmak için genellikle ihtiyacınız olan verileri döndüren bir sahte API oluşturursunuz. Bu yaklaşım engellemenizi kaldırsa da, sonunda yerine gerçek api'yi koyabileceğiniz bir API oluşturmak için zaman harcamanızı gerektirir. Zaman kaybetmemek için, CruD API'sini simüle etmek ve geliştirmeyi hızlandırmak için Dev Proxy kullanabilirsiniz.
CrudApiPlugin
kullanarak, bellek içi veri deposuyla CRUD (Oluşturma, Okuma, Güncelleştirme, Silme) API'sinin benzetimini yapabilirsiniz. Basit bir yapılandırma dosyası kullanarak sahte API'nizin desteklediği URL'leri ve döndürdüğü verileri tanımlayabilirsiniz. Eklenti, istemci tarafı uygulamalardan etki alanları arası kullanım için CORS'yi de destekler.
MockResponsePlugin
statik sahte yanıtlar tanımlamanıza olanak tanıdığında, CrudApiPlugin
verilerle etkileşim kurmak ve değişikliklerinizin sahte veri kümesine yansıtıldığını görmek için kullanabileceğiniz dinamik bir sahte API tanımlamanıza olanak tanır.
Senaryo
Örneğin, kullanıcıların müşterileri yönetmesine olanak tanıyan bir uygulama oluşturuyorsunuz. Verileri almak için arka uç API'sinin /customers
uç noktasını çağırmanız gerekir. Arka uç ekibinin çalışmalarını bitirmesini beklememek için, API'nin benzetimini yapmak ve ihtiyacınız olan verileri döndürmek için Dev Proxy kullanmaya karar verirsiniz.
dosyasını etkinleştirmek CrudApiPlugin
ve dosyayı kullanmak customers-api.json
üzere yapılandırmakla başlarsınız.
{
"name": "CrudApiPlugin",
"enabled": true,
"pluginPath": "~appFolder/plugins/dev-proxy-plugins.dll",
"configSection": "customersApi"
}
{
"customersApi": {
"apiFile": "customers-api.json"
}
}
customers-api.json
dosyasında sahte müşteriler API'sini tanımlarsınız.
{
"$schema": "https://raw.githubusercontent.com/microsoft/dev-proxy/main/schemas/v0.14.1/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})]"
}
]
}
özelliğinde baseUrl
sahte API'nin temel URL'sini tanımlarsınız. özelliğinde dataFile
sahte müşteri verilerini içeren dosyayı tanımlarsınız. özelliğinde actions
, desteklenen eylemleri ve bunların HTTP yöntemleri ve URL'leriyle nasıl eşlediklerini tanımlarsınız. API'nizi kullanarak şunları yapmak istiyorsunuz:
- arayarak tüm müşterileri edinin
GET /v1/customers
- arayarak tek bir müşteri alın
GET /v1/customers/{customer-id}
- çağrısı
POST /v1/customers
yaparak yeni bir müşteri ekleyin. - çağırarak
PATCH /v1/customers/{customer-id}
bir müşteriyi güncelleştirin. - arayarak müşteri silme
DELETE /v1/customers/{customer-id}
URL'lerinizde eklentinin {customer-id}
url'deki gerçek müşteri kimliğiyle değiştirdiği parametresini kullanırsınız. Eklenti ayrıca bir JSONPath sorgusundaki parametresini kullanarak {customer-id}
müşteriyi veri dosyasında arar.
customers-data.json
Dosyasında sahte müşteri verilerini tanımlarsınız.
[
{
"id": 1,
"name": "Contoso",
"address": "4567 Main St Buffalo, NY 98052"
},
{
"id": 2,
"name": "Fabrikam",
"address": "4567 Main St Buffalo, NY 98052"
}
]
Dev Proxy'yi başlatır ve uç noktayı çağırırsınız https://api.contoso.com/v1/customers
. Geliştirme Proxy'si isteği durdurur ve sahte müşteri verilerini döndürür.
[
{
"id": 1,
"name": "Contoso",
"address": "4567 Main St Buffalo, NY 98052"
},
{
"id": 2,
"name": "Fabrikam",
"address": "4567 Main St Buffalo, NY 98052"
}
]
Sonraki adım
CrudApiPlugin hakkında daha fazla bilgi edinin.
Örnekler
Ayrıca ilgili Geliştirme Ara Sunucusu örneklerine de bakın:
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin