Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Saat membangun aplikasi, Anda sering berinteraksi dengan API backend. Terkadang, API ini belum tersedia, atau tim lain memperbaruinya untuk memenuhi persyaratan terbaru. Untuk menghindari menunggu, Anda biasanya membuat API tiruan yang mengembalikan data yang Anda butuhkan. Meskipun pendekatan ini membuka blokir Anda, Anda harus meluangkan waktu untuk membangun API yang pada akhirnya akan Anda ganti dengan yang sebenarnya. Untuk menghindari membuang waktu, Anda dapat menggunakan Dev Proxy untuk mensimulasikan CRUD API dan mempercepat pengembangan.
CrudApiPluginDengan menggunakan , Anda dapat mensimulasikan API CRUD (Buat, Baca, Perbarui, Hapus) dengan penyimpanan data dalam memori. Dengan menggunakan file konfigurasi sederhana, Anda dapat menentukan URL mana yang didukung API tiruan Anda dan data apa yang dikembalikannya. Plugin ini juga mendukung CORS untuk penggunaan lintas domain dari aplikasi sisi klien.
MockResponsePlugin Jika memungkinkan Anda menentukan respons tiruan statis, CrudApiPlugin memungkinkan Anda menentukan API tiruan dinamis yang dapat Anda gunakan untuk berinteraksi dengan data dan melihat perubahan yang tercermin dalam himpunan data tiruan.
Skenario
Katakanlah, Anda membuat aplikasi yang memungkinkan pengguna mengelola pelanggan. Untuk mendapatkan data, Anda perlu memanggil /customers titik akhir API backend. Untuk menghindari menunggu tim backend menyelesaikan pekerjaan mereka, Anda memutuskan untuk menggunakan Dev Proxy untuk mensimulasikan API dan mengembalikan data yang Anda butuhkan.
Anda mulai dengan mengaktifkan CrudApiPlugin dan mengonfigurasinya untuk menggunakan customers-api.json file.
{
"name": "CrudApiPlugin",
"enabled": true,
"pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll",
"configSection": "customersApi"
}
{
"customersApi": {
"apiFile": "customers-api.json"
}
}
customers-api.json Dalam file, Anda menentukan API pelanggan tiruan.
{
"$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v1.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})]"
}
]
}
baseUrl Di properti , Anda menentukan URL dasar API tiruan.
dataFile Di properti , Anda menentukan file yang berisi data pelanggan tiruan.
actions Di properti, Anda menentukan tindakan yang didukung serta kaitannya dengan metode HTTP dan URL. Anda ingin menggunakan API Anda untuk:
- dapatkan semua pelanggan, dengan memanggil
GET /v1/customers - Mendapatkan seorang pelanggan, dengan menelepon
GET /v1/customers/{customer-id} - tambahkan pelanggan baru, dengan memanggil
POST /v1/customers, - memperbarui informasi pelanggan dengan menghubungi
PATCH /v1/customers/{customer-id}. - menghapus pelanggan dengan memanggil
DELETE /v1/customers/{customer-id}
Di URL Anda, Anda menggunakan parameter {customer-id}, yang diganti oleh plugin dengan ID pelanggan aktual dari URL. Plugin juga menggunakan {customer-id} parameter dalam kueri JSONPath untuk mencari pelanggan dalam file data.
customers-data.json Dalam file, Anda menentukan data pelanggan tiruan.
[
{
"id": 1,
"name": "Contoso",
"address": "4567 Main St Buffalo, NY 98052"
},
{
"id": 2,
"name": "Fabrikam",
"address": "4567 Main St Buffalo, NY 98052"
}
]
Anda memulai Dev Proxy dan mengakses https://api.contoso.com/v1/customers endpoint. Dev Proxy mencegat permintaan dan mengembalikan data pelanggan tiruan.
[
{
"id": 1,
"name": "Contoso",
"address": "4567 Main St Buffalo, NY 98052"
},
{
"id": 2,
"name": "Fabrikam",
"address": "4567 Main St Buffalo, NY 98052"
}
]
Langkah selanjutnya
Pelajari selengkapnya tentang CrudApiPlugin.
Sampel
Lihat juga sampel Proksi Dev terkait: