关于yii2 REST api 的问题

首先,需要在basic/web/文件夹下添加一个.htaccess文件

这样进入项目就会自动访问index.php文件,url就不会错乱了

<IfModule mod_rewrite.c>

Options +FollowSymLinks

IndexIgnore */*

RewriteEngine on

# if a directory or a file exists, use it directly

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

# otherwise forward it to index.php

RewriteRule . index.php

</IfModule>

接下来详解一下官方文档里的东西

首先,创建一个 yii\db\ActiveRecord 类app\models\User来访问user表

然后,创建一个控制器类 app\controllers\UserController 如下,

<?php

namespace app\controllers;

use yii\rest\ActiveController;

class UserController extends ActiveController
{
    public $modelClass = ‘app\models\User‘;
}

Then, modify the configuration about the urlManager component in your application configuration:

‘urlManager‘ => [
    ‘enablePrettyUrl‘ => true,
    ‘enableStrictParsing‘ => true,
    ‘showScriptName‘ => false,
    ‘rules‘ => [
        [‘class‘ => ‘yii\rest\UrlRule‘, ‘controller‘ => ‘user‘],
    ],
]
    // 用于表明urlManager是否启用URL美化功能,在Yii1.1中称为path格式URL,
    // Yii2.0中改称美化。
    // 默认不启用。但实际使用中,特别是产品环境,一般都会启用。
    public $enablePrettyUrl = false;

    // 是否启用严格解析,如启用严格解析,要求当前请求应至少匹配1个路由规则,
    // 否则认为是无效路由。
    // 这个选项仅在 enablePrettyUrl 启用后才有效。
    public $enableStrictParsing = false;
// 指定是否在URL在保留入口脚本 index.php
    public $showScriptName = true;

改成上述设置后,http://localhost/basic/web/users 可以直接访问api(注意自动帮你加了个s)

现在来详解一下一个urlManager的配置规则:

        ‘urlManager‘ => [
          ‘enablePrettyUrl‘ => true,//true 打开美化
          ‘enableStrictParsing‘ => true,//true启用严格解析,要求当前请求应至少匹配1个路由规则,不给路由就404,例如http://localhost/basic/web/就会404;false就是自己找index
          ‘showScriptName‘ => false,//指定是否在URL在保留入口脚本 index.php
            ‘rules‘ => [
                [‘class‘ => ‘yii\rest\UrlRule‘,
                 ‘controller‘ => ‘user‘,
                 ‘pluralize‘=>true], //true需要访问users; false需要访问user,默认是true
            ],
        ],        
  • GET /users: 逐页列出所有用户
  • HEAD /users: 显示用户列表的概要信息
  • POST /users: 创建一个新用户
  • GET /users/123: 返回用户 123 的详细信息
  • HEAD /users/123: 显示用户 123 的概述信息
  • PATCH /users/123 and PUT /users/123: 更新用户123
  • DELETE /users/123: 删除用户123
  • OPTIONS /users: 显示关于末端 /users 支持的动词
  • OPTIONS /users/123: 显示有关末端 /users/123 支持的动词
时间: 2024-10-21 00:07:44

关于yii2 REST api 的问题的相关文章

Yii2 Restful Api 401

采用Yii2 Restful Api方式为APP提供数据,默认你已经做好了所有的编码和配置工作.采用Postman测试接口: 出现这个画面的一个可能原因是:access_token的写法有误,如果你使用的是下边配置的话,请把access_token 改为access-token,即http://api.yingxiang.com/v1/users?access-token=123,原因在于QueryParamAuth这个类接收的就是access-token,不信自己点进去看.

yii2 RESTful api的详细使用

http://www.tuicool.com/articles/YVvaA3j http://www.manks.top/yii2_restful_api.html 什么是RESTful风格的API 对于各种客户端设备与服务端的通信,我们往往都通过API为客户端提供数据,提供某种资源.关于RESTful的概念,一查一大推,一两句也解释不清,姑且先按照我们通俗的理解:在众多风格.众多原则的API中,RESTful就是一套比较优秀的接口调用方式. Yii2如何实现RESTful风格的API 1.建立

快速创建yii2 RESTful api的小记

1.复制backend的应用到同级目录,改名叫api 2.然后就是配置项修改,common和api目录下的 common下: bootstrap.php最后添加一行配置 api/config/main.php中修改,如下两处 如果是apache的话增加.htaccess文件,如下 gii生成对应的module.controller.model在api项目下 然后修改Idcontroller 然后查看添加简单数据查看结果 或者postman得到的结果

yii2 restful api delete的特殊处理

参考文章:http://www.digpage.com/request.html

Yii2 Restful api

原文地址:https://www.cnblogs.com/xiong63/p/8544825.html

Yii2——restful API 数据分页

Yii 的文档,如果没有完整的看完,真的不好发挥它的威力. 先看看这一节:Yii 2.0 权威指南 - RESTFUL WEB 服务 - 快速入门 这里写了逐页列出,有的时候还真的忽略了,毕竟示例里就几个数据,哪看得出来分页. 设置分页 时间有限,用一个Controller记录下算了: <?php namespace frontend\controllers; use common\models\Book; use yii\data\ActiveDataProvider; use yii\dat

Yii2框架之旅(五)

一.Yii2框架RESTful API配置 1.下载一个新的yii2 advanced,将目录下的backend改名为api拷贝到项目中,将新yii2框架下environments\dev\backend.environments\prod\backend都改名为api拷贝到项目相同目录下. 2.修改配置文件 api\config\main: api\config\main-local: common\config\bootstrap: 3.gii生成model,api\controllers如

Yii2框架之旅(六)

一.Yii2 RESTful API基础内容 上文配置好了RESTful API,这一篇记录更多的应用. 1.创建一个新视频分类(POST /videos) 2.修改(PUT /videos/9) 3.查看支持的动词 (OPTIONS /videos) (OPTIONS /videos/9) 4.删除(DELETE /videos/9) 5.自定义返回字段 或者此处Url不修改,在model中操作: 6.获取资源调用地址,model中做修改 结果: 7.分页: 8.搜索: 预知Yii2 REST

Yii2框架RESTful API教程(二) - 格式化响应,授权认证和速率限制

之前写过一篇Yii2框架RESTful API教程(一) - 快速入门,今天接着来探究一下Yii2 RESTful的格式化响应,授权认证和速率限制三个部分 一.目录结构 先列出需要改动的文件.目录如下: web ├─ common │ └─ models │ └ User.php └─ frontend ├─ config │ └ main.php └─ controllers └ BookController.php 二.格式化响应 Yii2 RESTful支持JSON和XML格式,如果想指定