鍍金池/ 問(wèn)答/PHP/ yii restful 請(qǐng)求405

yii restful 請(qǐng)求405

高級(jí)應(yīng)用模板中用默認(rèn)的RESTful,除GET外,均提示405 Method Not Allowed [ 2.0 版本 ]

我按照該文高級(jí)應(yīng)用程序模板新建應(yīng)用主體類(lèi)似的方法,復(fù)制Backend應(yīng)用,創(chuàng)建了一個(gè)api應(yīng)用,并參照官方的RESTful Web服務(wù),對(duì)User進(jìn)行了RESTful的Controller創(chuàng)建。
完成后,可成功GET到數(shù)據(jù)庫(kù)的內(nèi)容,但卻無(wú)法對(duì)User進(jìn)行POST或其他的Action。
我已經(jīng)把Common和api目錄下的文件內(nèi)容都好過(guò)好幾遍了,沒(méi)有發(fā)現(xiàn)對(duì)Verb的設(shè)置,是有什么地方我漏掉了嗎?我如何才能完成對(duì)User的其他操作。(POST、PUT、DELETE等)

{"name":"Method Not Allowed","message":"Method Not Allowed. This URL can only handle the following request methods: GET, HEAD.","code":0,"status":405,"type":"yii\\web\\MethodNotAllowedHttpException"}

還有一些請(qǐng)求報(bào)404

回答
編輯回答
大濕胸

可以貼一下你api應(yīng)用配置文件下的 urlManager 和 訪問(wèn)的Controller的代碼嗎?


仔細(xì)看官方文檔,你的 rules 少了一層中括號(hào),而且goods要小寫(xiě)

        'urlManager' => [
            'enablePrettyUrl' => true,
            'showScriptName' => false,
            'enableStrictParsing' =>false,
            'rules' => [
                [
                    'class' => 'yii\rest\UrlRule',
                    'controller' => 'goods',
                ],
            ],
        ],
2017年1月18日 16:22