Kullanıcıların her zaman birkaç "plandan" birinde olduğu bir proje için bir REST API tasarlıyorum - her plan, bir hesabın sahip olabileceği maksimum kullanıcı sayısı veya yükleyebilecekleri maksimum veri sayısı gibi bazı kaynak sınırlarını tanımlar. Bu sınırlardan birine ulaşıldığında, kullanıcılar daha fazla kaynak elde etmek için planlarını yükseltebilir (temelde ödeme yaparlar).
Hesap kaynak limitleri nedeniyle eylemin gerçekleştirilemediği bir durumu belirten özel bir durum kodu döndürmek istiyorum ve planın yükseltilmesi sorunu çözecektir - örneğin bir kullanıcı depolama kapasitesinin% 100'ünü kullanıyorsa ve ek bir dosya yüklemeyi denerse , bu cevabı alacaklar.
Adaylar, IMHO:
403 Forbidden
- ancak, bu dava ile kullanıcının bu işlemi yapma izninin olmadığı diğer davaları ayırt etmek istiyorum.401 Unauthorized
- iyi bir fikir değil, bunu kimlik doğrulama ile ilgili sorunlar için kullanıyoruz.402 Payment Required
- biraz mantıklı ama standart dışı ancak ayrılmış bir durum kodu kullanmak konusunda endişeliyim423 Locked
Gelecekte başka bir şey için kullanmayacağımız gibi , daha az standart bir şey
Diğer bir seçenek de 403
, cevap gövdesindeki hatanın özelliklerini belirtmek gibi çok standart bir şeyle gitmektir .
Hangi yaklaşımın (a) uzun vadede en iyi şekilde çalışacağına ve (b) RESTful ilkelerine daha iyi davranacağına inandığınızı merak ediyorum.