İnternet üzerinden sahte yanıtların simülasyonunu oluşturma

Bir bakışta
Hedef: Geliştirme tünelleri aracılığıyla sahteleri kullanıma sunma
Süre: 15 dakika
Eklentiler:MockResponsePlugin
Önkoşullar:Geliştirme Ara Sunucusu, Geliştirme Tünellerini Ayarlama

Geliştirme Proxy'si kullanmak, API'yi taklit etmenin en kolay yoludur. Ön ucu oluştururken API henüz hazır olmasa da arka ucunuzu bir dış hizmetle tümleştirmeniz veya uygulamanızı farklı yanıtlarla test etmek istemeniz fark etmeksizin Dev Proxy API yanıtlarının simülasyonunu yapmanıza yardımcı olabilir. API'nizi bulut hizmetleriyle tümleştirdiğinizde, bulut hizmetinin erişebilmesi için API'nizi İnternet üzerinden kullanıma sunmanız gerekir. Dev Proxy tarafından simülasyonu yapılan sahte yanıtları İnternet'te kullanıma açmak için Dev Tunnels kullanın. Bu makalede, Dev Tunnels kullanılarak sahte yanıtların İnternet'te kullanıma sunulacak şekilde nasıl yapılandırılacağı açıklanmaktadır.

Sahte yanıtları tanımlama

Dev Proxy tarafından oluşturulan sahte yanıtları internette ifşa etmek için, sahte yanıtları yapılandırarak başlayın.

Önemli

Şu anda Dev Tunnels yalnızca HTTP sahte yanıtlarının İnternet'te açığa çıkartılması için destek sunar.

Sahte yanıtlar oluşturma

Özel API'niz için sahte yanıtları içeren mocks.json adında bir dosya oluşturun. Örneğin, bir GET isteğini simüle etmek için http://api.contoso.com/products şunu tanımlayın:

Dosya: mocks.json

{
  "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v3.1.0/mockresponseplugin.mocksfile.schema.json",
  "mocks": [
    {
      "request": {
        "url": "http://api.contoso.com/products",
        "method": "GET"
      },
      "response": {
        "headers": [
          {
            "name": "content-type",
            "value": "application/json"
          }
        ],
        "body": [
          {
            "id": 1,
            "name": "Contoso Coffee Beans",
            "price": 12.99
          },
          {
            "id": 2,
            "name": "Contoso Espresso Machine",
            "price": 249.99
          }
        ]
      }
    }
  ]
}

Ayrıca , statusCodeveya nthkullanarak bodyFragmenthataların, ikili yanıtların veya koşullu yanıtların benzetimini de yapabilirsiniz.

MockResponsePlugin'i yapılandırma

adlı devproxyrc.json bir Dev Proxy yapılandırma dosyası oluşturun ve etkinleştirin MockResponsePlugin:

Dosya: devproxyrc.json

{
  "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v3.1.0/rc.schema.json",
  "plugins": [
    {
      "name": "MockResponsePlugin",
      "enabled": true,
      "pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll",
      "configSection": "mocksPlugin"
    }
  ],
  "urlsToWatch": [
    "http://api.contoso.com/*"
  ],
  "mocksPlugin": {
    "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v3.1.0/mockresponseplugin.schema.json",
    "mocksFile": "mocks.json"
  }
}

Önemli

Birden çok uç noktayı eşleştirmek için urlsToWatch içinde joker karakterler kullanın. Doğru eşleştirmeyi sağlamak için, ilk olarak daha spesifik maketleri mocks.jsonyerleştirin.

Yapılandırmayı doğrula

Dev Proxy'yi çalıştırarak ve sahte API'ye istek göndererek test nesnelerinin düzgün çalıştığını doğrulayın.

Geçerli çalışma dizinindeki devproxyrc.json adlı dosyaya Dev Proxy yapılandırmasını kaydettiğinizi varsayarak Dev Proxy'yi başlatın.

devproxy

Geliştirme Proxy'si aracılığıyla bir istek göndererek moğunuzu test edin.

curl -x http://127.0.0.1:8000 http://api.contoso.com/products

mocks.json içinde tanımlanan sahte ürün listesini almanız gerekir.

Sahte API'yi Dev Tunnels ile kullanıma sunma

Sahte yanıtları İnternet'te kullanıma açmak için Dev Proxy bağlantı noktasına eşlenmiş bir geliştirme tüneli başlatın. Sahte API için yapılandırılan ana bilgisayar adını kullanacak şekilde tüneli yapılandırın.

Uyarı

Geliştirme tüneline anonim erişime izin vermek, geliştirme tüneli kimliğini tahmin edebiliyorsa internet üzerindeki herkesin yerel sunucunuza bağlanabileceği anlamına gelir.

devtunnel host -p 8000 -a --host-header api.contoso.com

Bu komut, Dev Proxy bağlantı noktasını genel bir HTTP URL'sine eşler. Artık sahte API'nize her yerden erişebilirsiniz:

curl http://<your-tunnel-id>-8000.<region>.devtunnels.ms/products

Ayrıca bakınız