SORU
16 ŞUBAT 2011, ÇARŞAMBA


Nasıl filtreleme/arama Dinlendirici bir tasarım için?

Şu anda PHP ve Dinlendirici bir API tasarımı oluşturuyorum. Ancak, başarısız benim ilk tasarım uygulama olmuştur.

GET /users # list of users
GET /user/1 # get user with id 1
POST /user # create new user
PUT /user/1 # modify user with id 1
DELETE /user/1 # delete user with id 1

Şimdiye kadar gayet normal, değil mi?

Benim sorunum ilk GET /users ile. İstek vücuttaki parametreleri listesini filtrelemek için göndermeyi düşünüyorum. Bu süper uzun bir url olmadan karmaşık filtreler belirlemek mümkün gibi olmak istiyorum çünkü

GET /users?parameter1=value1¶meter2=value2¶meter3=value3¶meter4=value4

Bunun yerine gibi bir şey olsun istedim:

GET /users
# Request body:
{
    "parameter1": "value1",
    "parameter2": "value2",
    "parameter3": "value3",
    "parameter4": "value4"
}

çok daha okunabilir ve karmaşık filtreler ayarlamak için imkanı verir.

Her neyse, file_get_contents('php://input') GET istekleri için istek vücut dönmedi. Ben de http_get_request_body(), denedim ama paylaşılan kullanıyorum barındıran pecl_http yok. Emin değilim zaten yardımcı olurdu.

this question buldum ve muhtemelen bir istek vücuda sahip olmaması gerektiğini fark etti. Biraz belirsiz oldu, ama onlar buna karşı tavsiye.

Şimdi bunu yapmak için ne emin değilim. Nasıl filterng işlev/Huzurlu bir arama tasarımı mı?

POST, kullanabilirim sanırım ama çok Huzurlu görünmüyor.

CEVAP
21 EYLÜL 2013, CUMARTESİ


Dinlendirici bir arama uygulamak için en iyi yolu arama kendisi bir kaynak olarak kabul etmek. Sonra bir ara oluşturuyorsunuz çünkü POST fiil kullanabilirsiniz. Bir YAZI kullanmak için tam anlamıyla bir veritabanı oluşturmak için bir şey gerekmez.

Örneğin:

Accept: application/json
Content-Type: application/json
POST http://example.com/people/searches
{
  "terms": {
    "ssn": "123456789"
  },
  "order": { ... },
  ...
}

Kullanıcı açısından bir arama oluşturuyorsunuz. Bu Uygulama Detayları alakasız. Bazı Dinlendirici bir API bile kalıcılık gerek olmayabilir. Bu uygulama bir detay.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • CMTelly

    CMTelly

    2 Mayıs 2007
  • MandMEvangelists

    MandMEvangel

    28 Ocak 2008
  • Peter Sharp

    Peter Sharp

    11 ŞUBAT 2013