我試圖在Revel中使用Rest架構來實現一個基本的CRUD,但是我不能將json
格式編碼的數據發送到端點,我嘗試了多種方法檢查請求中的正文內容,所以現在我有一個「最小可編譯示例」:我不能在Revel中獲得張貼的身體去框架
使用revel cli工具創建一個新項目。
應用以下更改
diff --git a/app/controllers/app.go b/app/controllers/app.go index 1e94062..651dbec 100644 --- a/app/controllers/app.go +++ b/app/controllers/app.go @@ -9,5 +9,6 @@ type App struct { } func (c App) Index() revel.Result { - return c.Render() + defer c.Request.Body.Close() + return c.RenderJSON(c.Request.Body) } diff --git a/conf/routes b/conf/routes index 35e99fa..5d6d1d6 100644 --- a/conf/routes +++ b/conf/routes @@ -7,7 +7,7 @@ module:testrunner # module:jobs -GET / App.Index +POST / App.Index # Ignore favicon requests GET /favicon.ico 404
做一個POST請求:
curl --request POST --header "Content-Type: application/json" --header "Accept: application/json" --data '{"name": "Revel framework"}' http://localhost:9000
我的問題; curl調用不會給我一個回聲(相同的json
{"name": "Revel framework"}
),所以我錯過了正確使用陶醉?
PS:我可以找到一些其他相關的鏈接到這個問題,但他們不適合我。例如,這:https://github.com/revel/revel/issues/126