Mert Özen Her Satırda Daha İleri

Blog

Mert Özen'in yazılım geliştirme, backend, frontend ve DevOps üzerine blog yazıları.

Seriler
5 yazı bulundu
API Test Araçları Haritası: curl, .http Dosyaları, Postman, Bruno ve OpenAPI UI'ları Arasında Seçim
Geliştirici Araçları SERİ 01

API Test Araçları Haritası: curl, .http Dosyaları, Postman, Bruno ve OpenAPI UI'ları Arasında Seçim

Aracı seçerken asıl soru, istek tanımlarının nerede durduğu: repo'da yaşayan .http dosyaları ve Bruno collection'ları API koduyla aynı pull request'te değişir, bulut collection'ı ise geride kalır. Bookstore.Api'ye login ve JWT ekleyip ortak senaryoyu curl ile koşuyor, OpenAPI dokümanına Bearer şemasını yazdırıyor, Scalar'ın yerini, Postman'in Mart 2026'dan beri tek kullanıcılı ücretsiz planını ve Bruno'nun sürümlerini karşılaştırıyoruz.

14 Kas 2026 12 dk 8
curl ile API Test Etmek: Method, Header, --json, Authentication, Upload, Hata Kodları ve Script'te Kullanmak
Geliştirici Araçları SERİ 02

curl ile API Test Etmek: Method, Header, --json, Authentication, Upload, Hata Kodları ve Script'te Kullanmak

curl'ü script'te güvenle kullanmanın kuralı, 401 ve 500'de de 0 dönen çıkış koduna güvenmemek: --fail-with-body hem 22 ile çıkar hem ProblemDetails'i basar. Bookstore.Api'ye karşı -v ve --trace-ascii, -d ile --json farkı (415), token'ı --variable ve -H @dosya ile history'den uzak tutmak, -F ile kapak yükleme ve antiforgery hatası, --retry sınırları, bir smoke script'i, Windows'ta curl.exe tırnak sorunu, Invoke-RestMethod ve xh gerçek çıktılarla.

14 Kas 2026 14 dk 10
.http Dosyalarıyla Repo İçinde API Testi: Visual Studio, Rider ve VS Code'da Variable, Environment ve Request Chaining
Geliştirici Araçları SERİ 03

.http Dosyalarıyla Repo İçinde API Testi: Visual Studio, Rider ve VS Code'da Variable, Environment ve Request Chaining

.http dosyaları repo'da yaşar ama aynı uzantının üç dialect'i var: Visual Studio'nun {{login.response.body.$.accessToken}}, $dotenv ve $shared'ı, JetBrains HTTP Client'ta (ijhttp 2026.2) çözülmeden gidiyor ve 401'ler test yazılmadıkça hata sayılmıyor. Bookstore için iki dosya, http-client.env.json ve secret provider'lar, VS Code ayarları, client.test ile JUnit raporu, .gitignore'un korumadığı http-client.private.env.json ve gitleaks'in yakaladığı token gerçek koşularla.

14 Kas 2026 13 dk 10
Postman Derinlemesine: Collection, Environment, Variable Scope'ları, Script'ler, Test'ler, Mock Server ve CLI
Geliştirici Araçları SERİ 04

Postman Derinlemesine: Collection, Environment, Variable Scope'ları, Script'ler, Test'ler, Mock Server ve CLI

Postman collection'ını repo'da tutup CI'da Newman ya da Postman CLI ile koşmak, Mart 2026'dan beri tek kullanıcılı ücretsiz plana karşı en sağlam yol. Bookstore için elle yazılmış v2.1 collection: OpenAPI'den import, variable scope önceliği, shared ve local value farkı, token'ı bir kez alıp saklayan pre-request script, pm.test, data dosyasıyla düşen bir iterasyon, JUnit raporu ve Postman CLI'ın yerel mock'unun neden işe yaramaz veri döndürdüğü gerçek koşularla.

14 Kas 2026 13 dk 8
Git Dostu API Client'ı: Bruno ile Collection'ı Repo'da Tutmak, OpenCollection YAML ve CLI ile CI'da Koşmak
Geliştirici Araçları SERİ 05

Git Dostu API Client'ı: Bruno ile Collection'ı Repo'da Tutmak, OpenCollection YAML ve CLI ile CI'da Koşmak

Bruno collection'ı OpenCollection YAML dosyaları olarak repo'da tutup GitHub Actions'ta Bruno CLI ile koşmak, istek değişikliklerini code review'da okunur bir diff'e çeviriyor. Bookstore için auth miras alan bir collection, OpenAPI ve Postman import'u (pm.variables.get'in bru.getVar'a yanlış çevrilmesi), .env ile secret'lar, assertion ve test script'leri, JUnit/HTML raporu, rapor klasörü olmayınca 2 dönen CLI ve YAML collection'ındaki .bru dosyasını sessizce atlayan run gerçek koşularla.

14 Kas 2026 13 dk 11
Blog Haritası