文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

如何在thinkphp5.1中写接口及接口调用

2023-09-01 05:24

关注

在thinkphp5.1中如何写接口及如何调用接口

对于php不熟悉的人来说,解除thinkphp还是挺有难度的。

下面记录如何编写接口。

及如何对编写的接口进行调用。

// +----------------------------------------------------------------------

// |

// +----------------------------------------------------------------------

// |

// +----------------------------------------------------------------------

// |

// +----------------------------------------------------------------------

namespace app\api\controller;

use controller\BasicApi;

use service\DataService;

use service\NodeService;

use service\ToolsService;

use think\Db;

use think\exception\HttpResponseException;

class Ecodemo extends BasicApi {

    protected $table = 'Compatible';

    

    protected function initialize() {

        parent::initialize();

    }

    

    public function index() {

        $param = $this->request->param();  //获取请求的参数

        if (empty($_SERVER['HTTP_AUTHORIZATION']))

            throw new HttpResponseException(json(['code' => 0'msg' => 'error!']));

        $sign = $_SERVER['HTTP_AUTHORIZATION'];

        $company = Db::name('authentication')->where('token', $sign)->value('company');

        if (empty($company))

            throw new HttpResponseException(json(['code' => 0'msg' => 'error!']));

        $db = Db::name($this->table)

            ->order(['sort' => 'asc''id' => 'desc'])

            ->where('is_deleted'0)

            ->where('id', $param['list_id'])->field(['name','update_time','desc']);  //数据库查询

        // dump($db);

        return parent::_list($db);

        // throw new HttpResponseException(json(['code' => 1, 'list' => $db]));

    }

    

    public function update() {

        $param = $this->request->param();

        if (empty($_SERVER['HTTP_AUTHORIZATION']))

            throw new HttpResponseException(json(['code' => 0'msg' => 'error!']));

        $sign = $_SERVER['HTTP_AUTHORIZATION'];

        $company = Db::name('authentication')->where('token', $sign)->value('company');

        if (empty($company))

            throw new HttpResponseException(json(['code' => 1'msg' => 'error!']));

        if ($this->request->isPost()) {

            Db::name($this->table)

            ->where('id',$param['list_id'])

            ->data(['name' => $param['content']])

            ->update();   //数据库修改

            throw new HttpResponseException(json(['code' => 0'msg' => '修改成功']));

             

        else {

            throw new HttpResponseException(json(['code' => 1'msg' => 'error!']));

        }

    }

     

    function getallheaders($param = null) {

        $headers = array();

        foreach ($_SERVER as $name => $value) {

            if (substr($name, 05) == 'HTTP_') {

                $headers[str_replace(' ''-', ucwords(strtolower(str_replace('_'' ', substr($name, 5)))))] = $value;

            }

        }

        if($param != null){

            return $headers[$param];

        }

        return $headers;

    }

}

get请求,访问index接口

通过get请求问/application/api/controller/ecodemo.php中的index方法如下图所示 

post请求,访问update接口

将下图的json内的内容对数据库内容进行更改。

 最后我发现无论是get、post、put请求,我们都可以通过$this->request->param();方法获取到参数信息。

 

来源地址:https://blog.csdn.net/zyk_php/article/details/127785612

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯