首页 > 其他分享 >禅道18.0_beta如何添加自己的api接口

禅道18.0_beta如何添加自己的api接口

时间:2023-11-07 11:25:54浏览次数:32  
标签:请求 beta api routes 18.0 post 添加 禅道

有自定义功能,但又不想修改原有的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 <[email protected]>
 * @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 来获取值

标签:请求,beta,api,routes,18.0,post,添加,禅道
From: https://www.cnblogs.com/lybaobei/p/17814610.html

相关文章

  • ansibleplaybook api
    #!/usr/bin/envpython#coding=utf-8importosimporttimefromansibleimportcontextfromansible.cliimportCLIfromansible.module_utils.common.collectionsimportImmutableDictfromansible.executor.playbook_executorimportPlaybookExecutorfromansi......
  • FastAPI搭建Web服务器
    FastAPI搭建Web服务器1、基于FastAPI之web站点开发#第一步:导入模块fromfastapiimportFastAPI#导入响应报文Response模块fromfastapiimportResponse#导入服务器uvicorn模块importuvicorn#第二步:创建FastAPI对象app=FastAPI()#第三步:通过@app路由装饰器收......
  • 体验Stream API的用法
    Stream是Java8中处理集合的关键抽象概念,它可以指定你希望对集合进行的操作,可以执行非常复杂的查找、过滤和映射数据等操作。使用StreamAPI对集合数据进行操作,就类似于使用SQL执行的数据库查询。也可以使用StreamAPI来并行执行操作。简而言之,StreamAPI提供了一种高......
  • 人脸识别Mediapipe+Dlib实现1 : N式人脸匹配
    一、前言本来是想进行加速运行的。最后只快了两三帧哈哈哈哈。本次采用的方法是用Mediapipe进行人脸识别,配合使用Dlib进行特征提取以及特征向量转化。目前可以实现1:n式人脸匹配,随便改改就行n:m了,就是效率太低了实现原帖【---->点击这里<----】二、难点以及之后可继续学习......
  • JavaScript--Web API
    DOMDOM(DocumentObjectModel——文档对象模型)是用来呈现以及与任意HTML或XML文档交互的API。DOM是浏览器提供的一套专门用于操作网页内容的功能作用:开发网页内容特效和实现用户交互DOM树DOM节点节点是文档树的组成部分,每一个节点都是一个DOM对象,主要分为......
  • uniApp:使用vue3+Vite4+pinia+sass技术栈构建(02)-封装api请求
    前言在纯vue3开发的时候,使用axios进行api请求,但在uniapp中还需要安装axios的适配器uniapp-axios-adapter,否则小程序或者app请求不兼容。文档地址uniapp-axios-adapter-DCloud插件市场但在这里我们不使用axios,而是使用uniapp提供的请求方法uni.request进行封装。uni.request方......
  • Eolink Apikit 版本更新:数据字典功能上线、支持 MongoDB 数据库操作...
    ......
  • Google maps api demo
    demo:<!DOCTYPEhtml><html><head><metaname="viewport"content="initial-scale=1.0,user-scalable=no"><metacharset="utf-8"><title>KMLLayers</title><style>......
  • Google maps api demo 2
     demo/***@fileoverviewSampleshowingcapturingaKMLfileclick*anddisplayingthecontentsinasidepanelinsteadof*anInfoWindow*/varmap;varsrc='https://developers.google.com/maps/tutorials/kml/westcampus.kml';/***......
  • Google maps API
    https://developers.google.com/kml/documentation/kml_tuthttps://developers.google.com/maps/documentation/javascript/examples/layer-kml?hl=zh-cnhttps://developers.google.com/maps/tutorials/kml/https://developers.google.com/maps/support/kmlmapshttps://develo......