2011-03-13 26 views
6

Ben bir RESTful API oluşturma aşamasındayım. Ben Design RESTful URI

http://microformats.org/wiki/rest/urls

okumak ama bu site bana API tasarımına yeterli "iyi" pratik vermez. Özellikle, coğrafi koordinatları dönüştürmek için işlevler sağlayacak bir API (yalnızca şu ana kadar GET yöntemleri) yazacağım.

Örnek: bir geohash

mantıklı /convert/geohash/u09tvkx0.json?outputformat=latlong böylece bir koordinat bir tek değer gösterimidir. Diğer taraftan, /konvert/latlong.xml?lat=65 & long = 13 & outputformat = UTC iki giriş değeri gerektirir.

"Soru" konusuna bakın? Birden fazla giriş parametresi gerektiren iyi bir API nedir?

bir "teknik" Doğru DİNLENME URI düşünülen açısından

cevap

4

, sorgu dizesi parametreleri kullanılarak ya da değil arasında hiçbir fark yoktur ("analiz" tarafından iyi uygulama "tespit" için çalıştı & FF twitter ancak başarısız) . RFC 3986, bu devletler:

sorgu bileşeninin yol bileşeni (Bölüm 3.3) içinde verileriyle birlikte, sen neden olan bir kaynak yönetmek

daha ortaya koydu, hiyerarşik olmayan veriler içerir kesin bir “en iyi uygulama” bulmakta zorlanıyor. Bunu söyledikten sonra, birçok REST API'sı, sorgu dizeleri kullanmadan URI'da çok sayıda parametre gömüyor. Bir aracın ve modelini tanımlamak için, URI'lara sahip web sitelerini şu şekilde göreceksiniz: cars.com/honda/civic. Bu durumda çok açık olarak URI'deki herşeye sahip olmak 2 ile arasındaki ilişki "kesilebilir" dir. Kaynağı benzersiz bir şekilde tanımlayan tek bir parametreye sahip olduğunuzda sorgu dışı bir dize yaklaşımıyla uğraşmak da çok daha kolaydır; ama eğer bir arama sorgusu gibi bir şey varsa, büyük ihtimalle bunu sorgu dizesinde saklayacağım. Bu SO question farklı yaklaşımlar hakkında da ilginç bir tartışmaya sahiptir.

Yukarıdaki örnekte, sorgu dizesi parametreleriyle yapışırdım. REST tipik olarak daha sezgisel URL'lere sahip olsa da, REST ne hakkında değildir. REST, hiper ortam ve HATEOAS hakkında daha fazladır.

+0

bu açıklama için teşekkür ederiz! REST "tasarım ilkeleri" ile sahip olduğum kavramsal boşluğu doldurdu. HATEOAS'ın farkında değildim, ancak tavrı seviyorum. – JohnDoe

0

REST API

  1. Özet tasarlarken izlenecek birkaç DİNLENME en iyi uygulama yoktur Beton
  2. CRUD İşlemleri
  3. Hata Handling
  4. API Sürümleri
  5. Filtreleme
  6. Güvenlik vs
  7. Analytics
  8. Belgeler
  9. Kararlılık ve Tutarlılık
  10. URL Yapısı

Read More