Postman İle Huawei Kitlerinin Kullanımı

Erman Derici
Huawei Developers - Türkiye
5 min readSep 12, 2023
Postman

Herkese selamlar 👋
Bu makalede Postman ile Huawei’nin sağladığı kitlerin REST özelliklerini nasıl kullanabileceğimizi göstereceğim. Çok detaylı olmasa da genel bir fikir sahibi olabilmeniz ve kendi serverlarınızda fikir verebilmesi amacı ile okuyabilirsiniz.

Unutmayalım ki AppGallery Connect üzerinde projeyi oluşturmuş olmanız ve gerekli adımları bitirmiş olmanız gerekmektedir. Makaleyi kısa tutmak adına bu adımları atlıyor olacağım ama referanslar bölümünden bu adımları takip edebilirsiniz.

Postman Nedir?

Postman, API’lar oluşturmak ve kullanmak için bir API platformudur. Arka uç geliştirmesi için kurtarıcı bir araçtır ve HTTP isteklerinizi kolayca test etmenize ve hata ayıklamanıza olanak tanır.

Postman Arayüzü

Koleksiyonlar ve isteklere dayalı nispeten kullanımı kolay bir arayüze sahiptir. Her HTTP isteği ayrı bir dosyadır ve koleksiyonlar bu istek dosyalarından oluşur.

Dosya Yapısı

Postman’ın en büyük avantajlarından biri hem genel hem de koleksiyon/yerel değişkenleri kullanma yeteneğidir. Yerel değişkenler sadece ilgili koleksiyonlarda kullanılabilirken, genel değişkenler herhangi bir koleksiyonda kullanılabilir.

Koleksiyon Değişkenleri

Ayrıca, sektörde yaygın olarak kullanılan API Anahtarı, JWT Bearer, Bearer Token ve OAuth gibi popüler yöntemlerin çoğunu içeren yetkilendirme yöntemi bulunur. Bu, koleksiyon genelidir ve bu koleksiyondaki tüm istekler yetkilendirme yöntemlerini koleksiyondan devralabilir veya kendi yöntemlerini uygulayabilirler.

Authorization Seçenekleri

Örnek olarak bu isteğin ebeveyn koleksiyonda seçtiğim seçeneği kullandığını görebilirsiniz.

Authorization Devralma Örneği

Bu örnekte bir Health Kit dökümanlarını takip edeceğim, ancak genel fikir tüm kitler için aynıdır. Health Kit için başarılı bir HTTP isteği nasıl oluşturabileceğimize bakalım.

Health Kit dökümanında kullanmak istediğim Health Kit işlevinin referans belgesini açacağım ve sunucu tarafından gereken Protokolü, URL’sini ve Veri Formatını kontrol edeceğim.

Dökümantasyon

Gördüğümüz gibi, HTTPS POST isteği, parametre içermeyen bir URL ile JSON formatı gerektiriyor. Bu bilgileri göz önünde bulundurarak yeni bir istek oluşturalım 🤠

Yeni İstek Oluşturma

Şimdi diğer gerekli başlıkları ve olası bir gövde eklememiz gerekiyor. Belgelere geri dönüp hangi seçeneklere sahip olduğumuza bakalım

Dökümantasyon

Gördüğünüz gibi, Authorization dışında zorunlu başlıklarımız yok, ki bunu birazdan ele alacağım. Gövde için 2 zorunlu alanımız ve 1 isteğe bağlı alanımız var, zaten sadece 3 alan olduğu için hepsini yazalım 😄

Gövde

Şimdi tüm gerekli başlıkları ve gövde alanlarını yazdık, yalnızca authorization eksik. Biliyoruz ki bir Bearer Token gerektiriyor, bu nedenle başlık oluşturma işlemini Postman’a bırakıp authorization sekmesinde Bearer Token seçerek tokenimizi oraya yazabiliriz. Veya başlıklar kısmına Authorization diye bir key koyarak değerine tokenimizi başına Bearer ekleyerek yazabiliriz. Hangisi sizin için daha uygunsa 😌

Authorization Seçeneği 1
Authorization Seçeneği 2

İsteğimizi göndermeyi deneyelim ve herhangi bir hata alıp almadığımıza bakalım

Ve görünüşe göre 403 Forbidden hatası aldık. Ne kadar hayal kırıklığına uğratıcı olursa olsun, hala sunucudan bir yanıt aldık! Bu işe yarıyor ve çalışıyor demek, kısmen 😏 Bu sorunu çözmemiz gerekiyor ve sonrasında isteğimiz tam olarak çalışacak!

İsteği Gönderme ve Sonucu

Dökümantasyondaki sonuç kodları sayfasına gidip bu sorunun nedeni olabilecek şeylere bakalım.

Result Code

Görünüşe göre ilk 2 senaryo sorunumuzun nedeni olabilir, diğerleri şimdiye kadar yaptıklarımızla ilgisi yok gibi görünüyor. AGC’deki bölgemizin Health Kit tarafından desteklendiğini doğruladıktan sonra, listedeki ikinci senaryo tarafından sağlanan FAQ’ye giderek sorunu çözmeye çalışacağız.

FAQ

URL’mizin yanlış ayarlandığını gözüküyor, bu yüzden bu FAQ’de belirtilen adımları takip ederek düzelteceğiz.

Yanıtın başlıklar sekmesindeki Location değerini kopyalayın ve URL’imizi o bağlantıyla değiştirin

Yanıt Başlıkları

Tekrar denediğimizde ise 200 OK yanıtı aldık 😎

Başarılı İstek

Yanıt gövdesinin herhangi bir “gerçek veri” içermediğini fark etmiş olabilirsiniz, çünkü bu zaman aralığında Health Kit projemizde veri yok 😁

İşte, Postman kullanarak işlevsel bir HTTP İsteği oluşturmak bu kadar basit. İsteğinizin koduna ihtiyacınız varsa, örneğin curl veya Kotlin gibi diller, sağ taraftan kod sekmesini seçebilirsiniz ve istediğiniz dili değiştirebilirsiniz.

Kod

Postman Projesi

Herkesin kullanabileceği, Huawei kitlerinin tüm REST uygulamalarını içeren bir Postman projesi geliştirdik. Kullanmak istediğiniz koleksiyonu yerel makinenize aktarabilir ve çalıştırabilirsiniz. Bağlantıyı referanslar bölümünde bırakacağım, desteğiniz için teşekkürler!

Dışa aktarma

Daha sonra kendi çalışma alanınıza gidip koleksiyonu içe aktarabilirsiniz.

İçe aktarma

Sonuç

Bu makalede Postman’in ne olduğunu, arayüzünü ve basit bir şekilde sağladığı imkanlardan bahsettik. Health Kit’i örnek alarak bir HTTP Request’i oluşturduk ve aldığımız hatayı dökümanları tarayarak çözmeye çalıştık. Çözümümüzün çalıştığını ise serverdan gelen sonuç ile teyit ettik ve HTTP Requestiminiz doğru çalıştığını gördük.

Bu makaledeki adımlar sadece Health Kit için değil, HMS Core tarafından sağlanan bütün kitlerin REST özellikleri için de geçerlidir. AppGallery Connect üzerinde bir projenizin olduğundan emin olduktan sonra ve gerekli integrasyon adımlarını tamamladıktan sonra entegre ettiğiniz kitlerin REST özelliklerini bu makaledeki adımları takip ederek Postman ile kullanabilirsiniz.

Referanslar

--

--