yii2 的 restful 接口书写自定义方法

 2023-09-05 阅读 41 评论 0

摘要:2019独角兽企业重金招聘Python工程师标准>>> yii2 的 restful 接口的默认 是帮写了很多的方法 下面我们需要书写自己的接口方法,譬如查找name是xxxx的条目 'urlManager'=>[ 'class'=>'yii\web\UrlManager', 'enab

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

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

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

'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;
}
}

访问:

curl -i -H "Accept:application/json" -H "Content-Type:application/json" -XPOST "http://10.10.10.252:800/customer/api/search/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}



转载于:https://my.oschina.net/chinahub/blog/534966

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/4/1316.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息