Nasıl bir PHP DİNLENME API yapmışlardır veri alabilir?

0 Cevap php

Ben bir API yazma ve DİNLENME yaklaşım takip etmek istiyor değilim. Anladığım kadarıyla ben API kullanıcıların belirli kayıtları bir PUT http://server/specific _resource type request should be supported. Of course, they're not doing a GET güncellemek izin isterler ve yeni veri ve benim soru iletmekten gerekir varsa, bunu nasıl (benim özel durumda sadece belirtilen kaydın bazı alanları güncelleme, ama burada o kadar ilgili değil). (: curl -X PUT -d "key=value" http://server/specific _resource ) or in a query string (using curl: curl -X PUT http://server/specific _resource anahtar = değer ? Kıvrılmasını kullanarak) istek vücuttaki veriler dahil olmak üzere: Aklıma iki yaklaşım vardır.

Ne yazık ki, ne olursa olsun ben almak yaklaşımın, bu sağlanan verileri almak çok zor görünüyor. Sorun PHP sadece gerçekten tamamen PUT dosya yüklemeleri için {[(3) olarak kabul ile, iki HTTP yöntemleri, GET ve POST anladığı gibi görünüyor }] çağrı . For instance, http_get_request_body() doesn't provide the data. Likewise, the information can't be found in the $_REQUEST superglobal. Ben veri {[(7) unsurları olarak görünecektir olarak, fopen('php://input') o zaman ben sorgu dizesi parametre olarak veri göndermek gerektiğini görünen ile ham istek gövdesini işlemek zorunda istemiyorsanız }] süper küresel (ve bu yüzden de $_REQUEST).

Özellikle CakePHP'ye kullanıyorum ve sadece zaman kontrol yönteminde params dizinin form dizisini doldurmak için görünmektedir if the request was a POST. Istek URL kullanıldığında sorgu dize parametreleri ne olursa olsun istek yöntemi params 'url dizide konur. Beklendiği gibi, ben not the only one kim bu çalıştırmak vardır değilim.

Eğer öneririm çözüm nedir? Giriş akımını işlemek? Sorgu dizesi parametrelerini kullan? Sadece PUT fiil unutmak ve yerine POST kullanabilir?

0 Cevap