yii2 RESTful 接口 api -2 : 写自己的接口方法search

原创 2015年11月18日 10:33:14

链接:yii2 RESTful 接口 api -2 : 自定义函数

yii2 的 restful 接口的默认  是帮写了很多的方法

下面我们需要书写自己的接口方法,譬如查找name是xxxx的条目

1.

更改配置:

'urlManager' => [
			'class' => 'yii\web\UrlManager',
			'enablePrettyUrl' => true,
			'enableStrictParsing' => true,
			'showScriptName' => false,
			'rules' => [
				'' => 'cms/index',
				
				
				['class' => 'yii\rest\UrlRule', 'controller' => 'customer/api',
				
				  'pluralize' => false,

				],
				#  定义方法: public function actionSearch($name);   <name> 就是search方法传入的参数
				'POST customer/api/search/<name>' => 'customer/api/search',
				//'POST customer' => 'customer/index/create',
				

			],
			
		],

也就是添加:

'POST customer/api/search/<name>' => 'customer/api/search',


name代表的是参数 


2.我们需要返回的是json格式:

<?php
namespace myapp\frontend\code\ECM\Customer\controllers;
use yii\web\Response;
use Yii;

use yii\rest\ActiveController;
use myapp\frontend\code\ECM\User\models\Product;
class ApiController extends ActiveController
{
    public $modelClass = 'myapp\frontend\code\ECM\User\models\Product';
	
	public function behaviors()
	{
		$behaviors = parent::behaviors();
		#定义返回格式是:JSON
		$behaviors['contentNegotiator']['formats']['text/html'] = Response::FORMAT_JSON;
		return $behaviors;
	}
	
	public function actionSearch($name){
		$one = Product::findOne(['name'=>$name]);
		return $one;
	}
}

3. 然后访问:

curl -i -H "Accept:application/json" -H "Content-Type:application/json" -XPOST "http://10.10.10.252:800/customer/api/search/xxxx" 

我们发现 name 为xxxx的条目被打印出来了

HTTP/1.1 200 OK
Server: nginx
Date: Wed, 18 Nov 2015 02:26:40 GMT
Content-Type: application/json; charset=UTF-8
Transfer-Encoding: chunked
Connection: keep-alive
X-Powered-By: PHP/5.4.34

{"id":2,"name":"xxxx","description":"ddddd","image":null,"status":null,"created_at":null}














版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Yii2 使用 RESTful 写API接口 实例

Yii2 使用 RESTful? 其实 Yii2 框架本身就对 RESTful 是友好支持的,具体可以看官方文档(http://www.yiichina.com/doc/guide/2.0/rest-...
  • daxia_85
  • daxia_85
  • 2016年02月01日 13:30
  • 13826

yii2 RESTful 接口 api -6: 写一个自己的api

1. 创建api的 应用分区,类似backend   frontend   这样可以用一个单独的域名,以及单独的配置 可以复制frontend过来,然后改改 然后在\common\config\boo...

Yii2 使用 RESTful 写API接口 实例

Yii2 使用 RESTful? 其实 Yii2 框架本身就对 RESTful 是友好支持的,具体可以看官方文档(http://www.yiichina.com/doc/guide/2.0/re...

【PHP】Yii2团队基于接口(interface)开发方式最佳实践

前言貌似很多公司都转向了使用Yii2做项目开发~当团队开发人员过多的时候,对接口的定义就成了困难,再说,命名本来就是个玄学的东西。之前早就听说过面向接口开发,这几天就试了下,感觉还不错,分享出来,一起...

Yii2 使用 RESTful 写API接口 实例

Yii2 使用 RESTful? 其实 Yii2 框架本身就对 RESTful 是友好支持的,具体可以看官方文档(http://www.yiichina.com/doc/guide/2.0/rest-...
  • daxia_85
  • daxia_85
  • 2016年02月01日 13:30
  • 13826

Yii2 基于RESTful架构的 advanced版API接口开发 配置、实现、测试

环境配置: 开启服务器伪静态 本处以apache为例,查看apache的conf目录下httpd.conf,找到下面的代码 LoadModule rewrite_module modules/m...
  • lmjy102
  • lmjy102
  • 2017年01月16日 21:20
  • 1416

Yii2 advanced版API接口开发 基于RESTful架构的 配置、实现、测试

环境配置: 开启服务器伪静态 本处以apache为例,查看apache的conf目录下httpd.conf,找到下面的代码 LoadModule rewrite_module modul...

yii2 RESTful 接口 api -1 : 接口的基本配置

文档:http://www.yiichina.com/doc/guide/2.0/rest-quick-start 关于yii2的接口,使用起来是比较方便,配置起来也比较方便,不过按照模块和非模块的...

API接口开发 配置、实现、测试 Yii2 基于RESTful架构的 advanced版API接口开发 配置、实现、测试

环境配置: 开启服务器伪静态 本处以apache为例,查看apache的conf目录下httpd.conf,找到下面的代码 LoadModule rewrite_module mod...

yii2-restful的接口优化和实现互相调用

最近在开发项目的过程中,突然间遇到一些业务场景,比如在一些实际的业务中,restful的接口是分别对应一种请求的资源的,比如在一个首页内容页面上我们需要请求用户users,分类category,视频列...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:yii2 RESTful 接口 api -2 : 写自己的接口方法search
举报原因:
原因补充:

(最多只允许输入30个字)