2011-01-27 98 views
1

在網上有大量關於如何在symfony控制器中設置json類型的動作響應的教程。但是我怎樣才能收到JSON呢?如何將json而不是表單數據發送到我的symfony控制器

$ request-> getRequestFormat()返回「json」,但json數據似乎丟失了,因爲$ request-> getParameter()不起作用。

這是我的路由:

importservice: 
    url: /importservice 
    class: sfRequestRoute 
    param: { module: remoteaccess, action: import, sf_format: json } 
    requirements: 
    sf_method: post 
    sf_format: json 

編輯:

的getParameter()解碼的multipart/form-data的(HTML表單),並得到參數,所以我想它也做到這一點的內容類型應用程序/ json。 我需要這個發佈數據的web服務。我的基本想法是,人類填寫html表單還是直接發送數據都沒有區別。我認爲將內容編碼爲json比編碼爲multipart/form-data更容易實現。

+0

目前還不清楚你的意思,請詳細說明。 – Maerlyn 2011-01-27 18:28:38

回答

1

我得出這樣的結論:

的Symfony的getParameter()方法提供了在路由(URI)定義的GET參數(URL)和參數。還將提供多部分數據項,因爲這種媒體類型只是子內容包的容器,而application/json已經是內容本身。換句話說:多部分只是聲明有多個內容包。

有人可能會聲稱json也是一個數據容器,但我認爲multipart包含關於「http級別」的數據,而json包含關於「內容級別」的數據。

由於多部分實際上是類似於元媒體類型的事實而引起的混淆。

相關問題