Veritabanıma basit sorguları yönetmek için Yii2 gelişmiş uygulamasında bir REST API'si oluşturmaya çalışıyorum. Bazı eğiticileri takiben, son olarak, Hızlı Başlangıç'ta Rehber'deki örneği adım adım oluşturun ve modelimi GET ve HEAD yöntemleri için çalışırken alın.Yii2 REST, POST, PUT, vb üzerinde bir 405 vererek
Bir modül içinde benim API hizmetimi oluşturdum, en az ayarlarla doğru şekilde ayarlayın, arka uç/main.php'de JSON ayrıştırıcısı isteyin, modülü ortak/main.php olarak kaydettirin ve kuralı burada urlManager'da oluşturdu normal kurallar enablePrettyUrl, kontrolör/eylem, ...):
['class' => 'yii\rest\UrlRule', 'controller' => ['precapi']]
Ama CURL veya Postacı DİNLENME Client üzerinden diğer bazı yöntemler denedik her, her zaman bana hata veriyor:
Method Not Allowed. This url can only handle the following request methods: GET, HEAD.
Sanırım ben ave, onu çözmeye çalışan çok farklı yapılandırmaları ve yolları denedi, ancak hiçbir sonuç vermedi. urlManager'da yalnızca bir şey 'enableStrictParsing' => false'
, çünkü bazı URL'lerde bana 404 hatası veriyor ve POST, bununla birlikte çalışmıyor, uygulama her zamanki gibi çalışıyor.
Herhangi bir yardım için teşekkür ederiz. Saygılar.
Teşekkür kaldırarak çözüldü controller_id
sonra nasıl
http://localhost:8080/index.php/module/controller_id/?access-token=_token_here
Not gibi URL şey
/
ekstra. Evet, ActiveController türetilmiştir. Ancak, belgelerde yazılı olduğu gibi, başka yöntemlerle varsayılan olarak çalışması gerektiğine inanıyorum. ad alanı uygulaması \ modülleri \ denetleyicileri; yii \ rest \ ActiveController; sınıfı DefaultController, ActiveController'ı genişletir VE modeli yalnızca modeli tablodan başlatır. Denemeyi deneyeceğim. – user3627496Bu uygulama ile aynı sonuçlar. Yine de teşekkürler. – user3627496
Fikir, uygulamayı değiştirip ona 'POST' eklemenizdir. Sadece varsayılanı bir örnek olarak – Blizz