URL'leri versiyonlamayın çünkü ...
- kalıcı bağlantıları kırıyorsun
- Url değişiklikleri, arayüzünüz aracılığıyla bir hastalık gibi yayılacaktır. Değişmeyen ancak değişen temsile işaret eden temsillerle ne yaparsınız? URL'yi değiştirirseniz, eski istemcileri bozarsınız. URL'yi bırakırsanız, yeni müşterileriniz çalışmayabilir.
- Ortam türlerini sürümleme çok daha esnek bir çözümdür.
Kaynağınızın bir çeşit application / vnd.yourcompany.user + xml döndürdüğünü varsayarsak, yapmanız gereken tek şey yeni bir uygulama / vnd.yourcompany.userV2 + xml ortam türü için destek oluşturmak ve v1'iniz ve v2 müşterileri barış içinde bir arada yaşayabilir.
Bir RESTful arayüzünde, bir sözleşmeye en yakın şey, istemci ve sunucu arasında değiş tokuş edilen ortam türlerinin tanımıdır.
İstemcinin sunucuyla etkileşimde bulunmak için kullandığı URL'ler, önceden alınan temsillere gömülü sunucu tarafından sağlanmalıdır. İstemci tarafından bilinmesi gereken tek URL, arayüzün kök URL'sidir. URL'lere sürüm numaraları eklemek, yalnızca istemcide URL'ler oluşturduğunuzda bir değer taşır, bunu bir RESTful arabirimiyle yapmamanız gerekir.
Medya türlerinizde mevcut müşterilerinizi bozacak bir değişiklik yapmanız gerekiyorsa, yeni bir tane oluşturun ve URL'lerinizi rahat bırakın!
Ve şu anda medya türleri olarak application / xml ve application / json kullanıyorsam bunun bir anlam ifade etmediğini söyleyen okuyucular için. Bunları nasıl değiştireceğiz? Değilsin. Bu medya türleri, kod indirmeyi kullanarak ayrıştırmadığınız sürece bir RESTful arabirimi için oldukça faydasızdır, bu noktada sürüm oluşturma tartışmalı bir noktadır.