基于 yiisoft/yii2-app-advanced,在 GitHub 上新建仓库 yii2-app-advanced,新建接口应用(实现 RESTful 风格的 Web Service 服务的 API),application/x-www-form-urlencoded 和 multipart/form-data 输入格式,默认支持,新增 application/json 输入格式的支持 (七)
1、API 默认可以分辨 application/x-www-form-urlencoded 和 multipart/form-data 输入格式,查看 \api\config\main.php,request 应用程序组件的配置
1 2 3 | 'request' => [ 'csrfParam' => '_csrf-api' , ], |
2、在 Postman 中 POST 请求,http://api.github-shuijingwan-yii2-app-advanced.localhost/v1/users ,输入格式:application/x-www-form-urlencoded,如图1
3、在 Postman 中 POST 请求,http://api.github-shuijingwan-yii2-app-advanced.localhost/v1/users ,输入格式:multipart/form-data,如图2
4、在 Postman 中 POST 请求,http://api.github-shuijingwan-yii2-app-advanced.localhost/v1/users ,输入格式:application/json,数据验证失败,如图3
1 2 3 4 | { "code": 20004, "message": "数据验证失败:Username不能为空。" } |
5、配置 request 应用程序组件的 [[yii\web\Request::$parsers|parsers]] 属性使用 [[yii\web\JsonParser]] 用于JSON输入,此属性用于将原始HTTP请求主体转换为$bodyParams
1 2 3 4 5 6 | 'request' => [ 'csrfParam' => '_csrf-api' , 'parsers' => [ 'application/json' => 'yii\web\JsonParser' , ] ], |
6、在 Postman 中 POST 请求,http://api.github-shuijingwan-yii2-app-advanced.localhost/v1/users ,输入格式:application/x-www-form-urlencoded
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | { "code": 10000, "message": "创建用户成功", "data": { "username": "444444", "email": "444444@163.com", "password_hash": "$2y$13$qXQwOfXLzPykyk/ymI3z3ua2WofRkrJT5NcmeiyUx8Iko51YdMeg.", "auth_key": "H8BmGgHLZRGd_1vvU8ESXrAi1pyaL-59", "status": 1, "created_at": 1532409559, "updated_at": 1532409559, "id": 19 } } |
7、在 Postman 中 POST 请求,http://api.github-shuijingwan-yii2-app-advanced.localhost/v1/users ,输入格式:multipart/form-data
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | { "code": 10000, "message": "创建用户成功", "data": { "username": "555555", "email": "555555@163.com", "password_hash": "$2y$13$9NByl.XSlo/rzzmmUZWZT.k6Ncpk.br9py1PywpyXRjThsjEQaAMK", "auth_key": "tQuKPECDLAAqpjDc44CpCK7ynypuLbJ-", "status": 1, "created_at": 1532409634, "updated_at": 1532409634, "id": 20 } } |
8、在 Postman 中 POST 请求,http://api.github-shuijingwan-yii2-app-advanced.localhost/v1/users ,输入格式:application/json,如图4
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | { "code": 10000, "message": "创建用户成功", "data": { "username": "666666", "email": "666666@163.com", "password_hash": "$2y$13$SmCEU6tS2qpwU3ggbAkWce5wMZP5BWtqkAgCd.vxbyjN3TwsX32d.", "auth_key": "D2aVPy___U-aySPYR-1-Y6msxipJulqE", "status": 1, "created_at": 1532409697, "updated_at": 1532409697, "id": 21 } } |
近期评论