2017-03-09 48 views
0

我遵循sylius的官方rest-api文檔,但無法使用字段用戶[authorizationRoles]創建用戶。由於ROLE_USER是默認的角色,我的角色提供的陣列在文檔中提到這樣如何在Sylius中使用ROLE_API_ACCESS創建用戶?

POST http://localhost:8000/api/customers/ 

    firstName = Ram 
    lastName = Thakuri 
    email = [email protected] 
    gender = m 
    user[plainPassword] = ****** 
    user[authorizationRoles] = [ROLE_API_ACCESS] 

我甚至在類似的帖子搜查,但未能找到正確的答案,不知道我錯了,但得到了驗證失敗消息和錯誤如下(我正在使用POSTMAN)。

{ 
    "code": 400, 
    "message": "Validation Failed", 
    "errors": { 
    "errors": [ 
     "This form should not contain extra fields." 
    ], 
    "children": { 
    "firstName": {}, 
    "lastName": {}, 
    "email": {}, 
    "birthday": {}, 
    "gender": {}, 
    "phoneNumber": {}, 
    "subscribedToNewsletter": {}, 
    "group": {}, 
    "user": { 
     "children": { 
     "plainPassword": {}, 
     "enabled": {} 
     } 
    } 
    } 
    } 
} 

我想的使用Oauth爲每個註冊的用戶有一個API訪問接收訪問令牌。

我是sylius的新手,所以請幫我解決這個問題。

在此先感謝

回答

1

您無法將其開箱即用。您嘗試使用的端點與客戶有關,因此設置授權角色已被刪除。這部分文檔已過時。你可以打開一個PR與修復,如果你想:)

無論如何,這將有可能與PR #7711這將使管理SyliusUsers而是通過/users/端點,不會創建一個客戶做到這一點。

最適合您的解決方案是自定義Sylius\Bundle\CoreBundle\Form\Type\User\ShopUserType並將該字段添加到FormType。只要看看我之前提到的公關。

就像一個警告,我想強調的是,ShopApi是Sylius的一個實驗性概念,所以如果你想以這種方式使用它,你可以遇到更復雜的問題。這是可行的,但不是微不足道的。

相關問題