2017-06-13 77 views
1

在我的api-platform項目中,我想創建一個自定義POST操作。雖然使用註釋路由的效果很好,但我使用YAML卡住了。如何在YAML中定義自定義POST操作?

API資源定義

# src/AppBundle/Resources/config/api_resources/resources.yml 
AppBundle\Entity\Foo: 
    collectionOperations: 
     get: 
      method: 'GET' 
     special: 
      route_name: 'foo_special' 

路由

# app/config/routing.yml 
foo_special: 
    path: '/foo/special' 
    methods: ['POST'] 
    defaults: 
     _api_resource_class: 'AppBundle\Entity\Foo' 
     _api_collection_operation_name: 'special' 

錯誤消息:

「水螅:描述」: 「無法找到路徑\控制器」/富/特殊\「,路由配置錯誤。」

任何想法這裏有什麼錯?

+0

在YAML中沒有自定義的POST操作。就像在ASCII或UTF-8中沒有這樣的操作一樣。解釋ASCII字符的含義,即使是組合成YAML標量也是由應用程序完成的。 – Anthon

+0

這非常有幫助。謝謝澄清! –

回答

0
defaults: 
     _controller: 'AppBundle:Foo:special' 
     _api_resource_class: 'AppBundle\Entity\Foo' 
     _api_collection_operation_name: 'special' 
+0

感謝您使用此代碼段,這可能會提供一些有限的即時幫助。一個[正確的解釋將大大提高其長期價值](/ meta.stackexchange.com/q/114762/350567)通過顯示*爲什麼*這是一個很好的解決方案,並會使它對未來更有用有其他類似問題的讀者。請[編輯]你的答案以添加一些解釋,包括你所做的假設。 – iBug

+0

有點解釋會很棒。 –