Üçüncü taraf bir API nasıl yanıltılır?

Sep 03 2020

Uygulamamız, birkaç görevi tamamlamak için üçüncü taraf bir API'ye çağrı yapar.

Bu uç noktanın test ortamında bir sorunu var ve yönetim bizden bu ortamla dalga geçmemizi istedi, böylece uygulama veya herhangi biri test makinesinden www.test.com'u aramaya çalıştığında , gerçek www yerine sahte bir sunucudan bilgi alıyor .test.com .

Farklı seçenekler bulmaya çalıştım ama sahte bir nesne oluşturup sonra sahte nesneyi çağırırsak her şey alay ediyor.

Birisi www.test.com'u aradığında localhost'tan içerik göstermesi için bir yol bulmaya çalışıyorum .

Ana bilgisayar dosyasını düzenlemek istemiyorum. Başka bir yolu var mı?

Güncelleme:

Uygulamayı yapılandırılabilir hale getirdi, böylece uygulamanın hangi uç noktayı çağırması gerektiğini belirleyebiliriz.

Bunu simüle etmek için postacıda Mockserver kullandım. Ancak postmand sorgu parametresini desteklemiyor

yani v1 / api? q = 1 ve v1 / api? q = 2 için aynı yanıtı verir

Birisi, farklı sorgu parametreleri için farklı yanıtlar veren bir sahte sunucu oluşturmaya yardımcı olabilir mi?

Yanıtlar

1 NielsvanReijmersdal Sep 04 2020 at 18:11

Json-server ile iyi bir deneyimimiz var. Gerçekten esnek bulduk.

30 saniyeden daha kısa sürede sıfır kodlama ile tam sahte bir REST API edinin (cidden)

Prototip oluşturma ve alay için hızlı bir arka uca ihtiyaç duyan ön uç geliştiriciler için <3 ile oluşturulmuştur.

https://github.com/typicode/json-server

Her bir kimliğin farklı bir değer döndürdüğü statik json dosyalarından sunucu oluşturabilir. Veya bunları oluşturmak için JavaScript kullanabilirsiniz. Verileri kimliğe göre değiştirebilir, rastgele veri verebilir, veri kümelerini döndürebilirsiniz vb.

İnternet üzerinden test etmek istiyorsanız, sizin için barındırılan bir sürümleri de vardır. Küçük veri kümeleri ücretsizdir:https://my-json-server.typicode.com/

1 Moro Sep 05 2020 at 14:53

Postacı belgelerine göre :

Tam eşleşme bulunamazsa, Postman algoritmasına bağlı olarak en iyi eşleşen yanıtı döndürür.

Sahte sunucuyu test ettim ve sorgu parametreleriyle çalışıyor, ancak parametreyle alay etmediğinizde algoritma varsayılan bir değere işaret ediyor. Benim durumumda:

?id=1işaret 200ile oksayfa
?id=2noktalarına 404ile bad requestsayfa
?id=3ve benzeri uygulanmadı ve alay sunucu döndürür 200ile oksayfa.

1 dzieciou Sep 05 2020 at 15:16

Postman dışındaki diğer paketlerle alay etmeyi kabul ediyorsanız , MockServer veya WireMock kullanmanızı öneririm , her ikisi de Java ve JSON'da eşleşen kuralları açıklamak için destek sağlar.

Örneğin, WireMock ile HTTP İsteğini URL ve sorgu dizesiyle şu şekilde eşleştirebilirsiniz :

Yol ve sorguda normal ifade eşleşmesi

Java:

urlMatching("/your/([a-z]*)\\?and=query")

JSON:

{
  "request": {
    "urlPattern": "/your/([a-z]*)\\?and=query"
    ...
  },
  ...
}
1 QuantumNinja Sep 10 2020 at 07:24

Env parametrelerini ayarlayabilir ve bunları uygulamanızın hangi apis ile konuştuğunu kontrol etmek için kullanabilir misiniz? Bunu, geliştirme, test ve üretim api adreslerini kolayca ayarlamak için kullanabilirsiniz.