禅道18.0_beta如何添加自己的api接口
有自定义功能,但又不想修改原有的api接口,可以添加新的api接口,这样不会很大影响以后的版本升级,具体步骤
1.在 config/routes.php 中添加映射,为了方便维护,
在 $config->routes = $routes; 这一句代码的上面进行添加
//添加的 api
$routes['/tasks/project'] = 'taskproject';
2.添加具体的请求实体类,在 api/v1/entries/ 下面添加 taskproject.php,这个名字要和 在 routes中的名字一样,不然禅道会找不到
内容
<?php
/**
* The tasks entry point of ZenTaoPMS.
*
* @copyright Copyright 2009-2021 青岛易软天创网络科技有限公司(QingDao Nature Easy Soft Network Technology Co,LTD, www.cnezsoft.com)
* @license ZPL(http://zpl.pub/page/zplv12.html) or AGPL(https://www.gnu.org/licenses/agpl-3.0.en.html)
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
* @package entries
* @version 1
* @link http://www.zentao.net
*/
class taskprojectEntry extends entry
{
public function post()
{
//写自己的业务逻辑
}
}
注意要把禅道的版权信息带上,post()方法处理post请求,get()方法处理get请求,其他的类似 put 等等
这个类名 taskprojectEntry 一定是这个,在 routes 里面的 taskproject再加上 Entry,这是禅道代码定死的,不能改变
3.如何请求
逻辑实现后,请求地址为 http://127.0.0.1/api.php/v1/tasks/project ,请求参数一般使用json,例如
{"extraNumber":"38405612"}
在post方法中,使用 $this->requestBody->extraNumber 来获取值