Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bir bakışta
Hedef: Tam CRUD işlemleriyle dinamik sahte API oluşturma
Süre: 15 dakika
Eklentiler:CrudApiPlugin
Önkoşullar:Geliştirme Ara Sunucusunu Ayarlama
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 gerekir. Zaman kaybetmemek için, CRUD API'si simülasyonu yapmak ve geliştirmeyi hızlandırmak için Dev Proxy kullanabilirsiniz.
CrudApiPluginkullanarak, 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 hangi URL'leri desteklediğini ve hangi verileri döndürdüğü 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 sağladığı durumlarda, 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.
Önce CrudApiPlugin dosyasını etkinleştirir ve ardından customers-api.json dosyasını kullanmak üzere yapılandırırsınız.
Dosya:devproxyrc.json (eklenti örneği)
{
"name": "CrudApiPlugin",
"enabled": true,
"pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll",
"configSection": "customersApi"
}
Dosya:devproxyrc.json (yapılandırma bölümü)
{
"customersApi": {
"apiFile": "customers-api.json"
}
}
customers-api.json Dosyasında sahte müşteriler API'sini tanımlarsınız.
Dosya: customers-api.json
{
"$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v2.0.0/crudapiplugin.apifile.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/customersyaparak yeni bir müşteri ekleyin. - Müşteriyi
PATCH /v1/customers/{customer-id}telefonla arayarak güncelleştirin. - arayarak bir müşteriyi silme
DELETE /v1/customers/{customer-id}
URL'lerinizde, eklentinin URL'deki gerçek müşteri kimliğiyle değiştirdiği {customer-id} parametresini kullanırsınız. Eklenti ayrıca bir JSONPath sorgusundaki {customer-id} parametresini kullanarak müşteriyi veri dosyasında arar.
customers-data.json Dosyasında sahte müşteri verilerini tanımlarsınız.
Dosya: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"
}
]
Dev Proxy'yi başlatır ve uç noktayı çağırırsınız https://api.contoso.com/v1/customers . Dev Proxy 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 Dev Proxy örneklerine de bakın:
Ayrıca bakınız
- Sahte yanıtlar - Statik sahte yanıtlar döndürme
- İnternet üzerinden CRUD API'si simülasyonu - Sahte API'nizi herkese açık olarak kullanıma sunma
- Microsoft Entra ile güvenliği sağlanan bir CRUD API'si simülasyonu - Kimlik doğrulaması ekleme
- Sözlük - Geliştirme Ara Sunucusu terminolojisi