> 文档中心 > yii2调通接口后,咱们来做个表单接口(修改版本)

yii2调通接口后,咱们来做个表单接口(修改版本)

什么叫做表单接口呢?
创建并且保存数据到数据库中的接口叫做表单接口
sql:

-- phpMyAdmin SQL Dump-- version 4.5.1-- http://www.phpmyadmin.net---- Host: 127.0.0.1-- Generation Time: 2022-03-06 14:45:36-- 服务器版本: 10.1.13-MariaDB-- PHP Version: 5.6.21SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";SET time_zone = "+00:00";/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;/*!40101 SET NAMES utf8mb4 */;---- Database: `ssss`---- ------------------------------------------------------------ 表的结构 `article`--CREATE TABLE `article` (  `id` int(100) NOT NULL,  `name` varchar(200) COLLATE utf8_vietnamese_ci NOT NULL,  `phone` varchar(100) COLLATE utf8_vietnamese_ci NOT NULL,  `address` text COLLATE utf8_vietnamese_ci NOT NULL,  `time` int(14) NOT NULL) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_vietnamese_ci;---- Indexes for dumped tables------ Indexes for table `article`--ALTER TABLE `article`  ADD PRIMARY KEY (`id`);---- 在导出的表使用AUTO_INCREMENT------ 使用表AUTO_INCREMENT `article`--ALTER TABLE `article`  MODIFY `id` int(100) NOT NULL AUTO_INCREMENT;/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;

然后gii生成到common/models下.
第一:虚拟域名,看我博客,就知道啦.美化url也是
第一步:
把backend复制一份,改名为api.
第二步:
在common/config/bootstrap.php下粘贴下面这个代码.

Yii::setAlias('@api', dirname(dirname(__DIR__)) . '/api');

第三步:在api/config/main-local.php下粘贴以下这句话。

<?php$config = [    'components' => [ 'request' => [     // !!! insert a secret key in the following (if it is empty) - this is required by cookie validation     'cookieValidationKey' => 'qixaipxaipscn',     'parsers' => [ 'application/json' => 'yii\web\JsonParser'    ] ],    ],];if (!YII_ENV_TEST) {    // configuration adjustments for 'dev' environment    $config['bootstrap'][] = 'debug';    $config['modules']['debug'] = [ 'class' => 'yii\debug\Module',    ];    $config['bootstrap'][] = 'gii';    $config['modules']['gii'] = [ 'class' => 'yii\gii\Module',    ];}return $config;

第四步:
在api/config/main.php下,粘贴这句代码.

<?php$params = array_merge(    require(__DIR__ . '/../../common/config/params.php'),    require(__DIR__ . '/../../common/config/params-local.php'),    require(__DIR__ . '/params.php'),    require(__DIR__ . '/params-local.php'));return [    'id' => 'app-api',    'basePath' => dirname(__DIR__),    'controllerNamespace' => 'api\controllers',    'bootstrap' => ['log'],    'modules' => [],    'components' => [ 'request' => [     'csrfParam' => '_csrf-api', ], 'user' => [     'identityClass' => 'common\models\User',     'enableAutoLogin' => true,     'identityCookie' => ['name' => '_identity-api', 'httpOnly' => true], ], 'session' => [     // this is the name of the session cookie used for login on the api     'name' => 'advanced-api', ], 'log' => [     'traceLevel' => YII_DEBUG ? 3 : 0,     'targets' => [  [      'class' => 'yii\log\FileTarget',      'levels' => ['error', 'warning'],  ],     ], ], 'errorHandler' => [     'errorAction' => 'site/error', ],  'urlManager' => [     'enablePrettyUrl' => true,     'enableStrictParsing' => true,     'showScriptName' => false,     'rules' => [  ['class' => 'yii\rest\UrlRule', 'controller' => 'article'],     ], ],     ],    'params' => $params,];

然后在api/controller/下新建一个叫做ArticleController.php的文件哦(复制粘贴即可)

<?phpnamespace api\controllers;use common\models\Article;class ArticleController extends \yii\rest\Controller{//增加   public function actionCreate()    {      $article=new Article(); $datetime = new \DateTime; $request = \Yii::$app->request; $article->id = $request->post("id",""); $article->name = $request->post("name",""); $article->phone= $request->post("phone",""); $article->address = $request->post("address",""); $article->time=$datetime->format('YmdHis'); if($article->save()) {     return (['code' => 200, 'msg' => '操作成功', 'data' => $article]); }    }}

在这里插入图片描述

小故事网