为某一接口指定POST和GET,改的源码,不知道这样有没有影响

[问题描述]
应前端要求,必须指定改接口为POST或GET,在官网上查了一些资料看得是懂非懂的,用

DI()->request = new PhalApi_Request($_POST);
会把项目所有接口都强制POST
没有办法只有在源码上添加一个方法指定调用,但是不知道这样会不会有什么影响。

[源代码,请粘贴相应的PHP源代码]
在目录: D:\wamp\www\test\PhalApi\PhalApi\Request.php   新增下面的方法
/** * 指定接口的请求类型
 * @param $isPost
 * @return array 
*/ 
public function isPost(){ 
    $request=array(
        'code'=>400,
        'msg'=>'指定POST的请求接口',
        'time' => date('Y-m-d H:i:s', $_SERVER['REQUEST_TIME']),
         'list' => array());
     if($_SERVER['REQUEST_METHOD'] != 'POST')return $request;
}
然后直接在接口层使用

if(!empty(DI()->request->isPost()))return DI()->request->isPost();

结果 就是调用指定了的接口如果不是POST请求的话会提示:
        'code'=>400,
        'msg'=>'指定POST的请求接口',
 所以请问一下这样做可行不????
[截图,补充必要的截图说明]

1519526830(1).jpg


1519526724(1).jpg

 
已邀请:

dogstar - PhalApi创始人

赞同来自: 正儿八经的名

如果项目需要指定接口参数是POST还是GET,或者其他来源,PhalApi已经支持这样的配置,请见:使用source配置为单个参数指定数据源,https://www.phalapi.net/wikis/1-12.html

接口参数是比较关键的一环,要考虑的地方和兼容的方面会很多。建议优先使用上面框架已提供的功能,会更为稳妥,也更少坑。

最后,非常感谢这么详细的问题!新年好!

要回复问题请先登录注册