yii2进行接口开发,比较优化的curd接口(提供sql)全方位提供

第一:虚拟域名,看我博客,就知道啦.美化url也是啦(必须进行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的文件哦(复制粘贴即可)

<?php
namespace api\controllers;
use common\models\Article;
use Yii;
use yii\web\Controller;
class ArticleController extends \yii\rest\Controller
{
//增加
   public function actionCreate()
    {
       return "创建的接口调通啦";
       

    }//查询
   public  function actionIndex()
    {
          return "列表(查询)的接口调通啦";
    }//删除
    public  function actionDelete($id)
    {
        
  return "删除的接口调通啦";
    }//更新
  public function actionUpdate($id)
  {
        return "更新的接口调通啦";

}


}

创建接口调通啦
在这里插入图片描述
查询接口调通啦
在这里插入图片描述
删除接口调通啦
在这里插入图片描述

更新接口调通啦
在这里插入图片描述
切记,这里的(更新删除)1代表id.必须有数据才能进行切记切记.

-- phpMyAdmin SQL Dump
-- version 4.5.1
-- http://www.phpmyadmin.net
--
-- Host: 127.0.0.1
-- Generation Time: 2022-05-03 13:26:46
-- 服务器版本: 10.1.13-MariaDB
-- PHP Version: 5.6.21

SET 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: `a`
--

-- --------------------------------------------------------

--
-- 表的结构 `curd`
--

CREATE TABLE `curd` (
  `id` int(20) NOT NULL,
  `phone` varchar(20) COLLATE utf8_vietnamese_ci NOT NULL,
  `name` varchar(255) COLLATE utf8_vietnamese_ci NOT NULL,
  `address` text COLLATE utf8_vietnamese_ci NOT NULL,
  `time` varchar(255) COLLATE utf8_vietnamese_ci NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_vietnamese_ci;

--
-- 转存表中的数据 `curd`
--

INSERT INTO `curd` (`id`, `phone`, `name`, `address`, `time`) VALUES
(16, '13647592401', 'cyg666', '海南省琼海市', '2022-05-03 13:24:37');

--
-- Indexes for dumped tables
--

--
-- Indexes for table `curd`
--
ALTER TABLE `curd`
  ADD PRIMARY KEY (`id`);

--
-- 在导出的表使用AUTO_INCREMENT
--

--
-- 使用表AUTO_INCREMENT `curd`
--
ALTER TABLE `curd`
  MODIFY `id` int(20) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=17;
/*!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:model curd表哈”

<?php
namespace api\controllers;
use common\models\Curd;
use Yii;
class ArticleController extends \yii\rest\Controller
{
//增加
   public function actionCreate()
    {
		$request = Yii::$app->request;
		Yii::$app->db->createCommand()->insert('curd', [
		    'name' => $request->post("name"),
		    'phone' => $request->post("phone"),
			'address'=> $request->post("address"),
			'time'=>date("Y-m-d H:i:s"),
		])->execute();
		
    }//查询全部
   public  function actionIndex()
    {
          $data = \Yii::$app->db->createCommand('SELECT * FROM curd')
                      ->queryAll();
					  $json = json_encode(array(
					              "resultCode"=>200,
					              "message"=>"新增成功!",
					              "data"=>$data
					          ),JSON_UNESCAPED_UNICODE);
					          
					          //转换成字符串JSON
					          echo($json);
					  
    }//删除
    public  function actionDelete($id)
    {
         return Curd::findOne([ 'id' => $id ])->delete()?"删除{$id}成功":"删除{$id}失败";
 
    }//更新
  public function actionUpdate($id)
  {
	  $request = Yii::$app->request;
       $data= Yii::$app->db->createCommand()->update("curd",[
                  'name' => $request->post("name"),
                  'phone' => $request->post("phone"),
                  'address'=> $request->post("address"),
                  'time'=>date("Y-m-d H:i:s"),
             ],['id'=>$id])->execute();
       $json = json_encode(array(
                   "resultCode"=>200,
                   "message"=>"更新成功!",
                   "data"=>$data,
               ),JSON_UNESCAPED_UNICODE);
               
               //转换成字符串JSON
               echo($json);

}


}

create:
在这里插入图片描述
查询:
在这里插入图片描述

修改:
在这里插入图片描述
删除:
在这里插入图片描述

评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

贵哥的编程之路(热爱分享)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值