2016-08-01 107 views
0

鑑於我張貼到端點像這樣:Apigility輸入過濾注入

POST http://foo.com/user/:user_id/articles

{ 
    "content": "some text" 
} 

當我配置我奮力的配置中的驗證工具如何注入:從USER_ID與來自身體的「內容」一起路由。所以我的驗證器被卡住,試圖驗證如果「內容」沒有:user_id是好的。

什麼是適當的Apigility方法來將ID(甚至理想的對象)從路由參數連同正常的body數據有效載荷一起插入Validator?

非常感謝

+0

你可以創建你自己的過濾器,並做任何你想要的處理。 – yivi

回答

0

據我所知,apigility無法驗證路由參數。 我個人以de資源或控制器驗證它們。 這樣我可以做一些更復雜的驗證,就像這個ID存在?

如果你想要一個對象作爲路由參數,你van試着序列化對象並把它放入你的參數中。 但我會反對這個建議。你甚至會信任外部的一方爲你提供整個對象嗎? 如果您需要某些用戶信息,您可以查看JWT或類似技術。 JWT是一個授權令牌,其中也包含任何數據(基於json)。

現在,任何身體參數都可以驗證。 在應用程序ui中,您可以轉到字段,然後添加要在其中驗證的字段(或者爲簡單起見應該是所有字段)。 然後你可以在這裏分配過濾器和驗證器。即使是在zf2應用程序中配置的自定義配置。

+0

不幸的是,如上所述,apigility不會將過濾器應用於查詢字符串參數,您需要手動處理這些參數。 – Andrew

+0

是的,這是正確和不幸的。 它可能會延長很難過濾這些。 – Erik