LeAPI 后端接口开发 - 发布、下线接口

2024-02-04 21:12

本文主要是介绍LeAPI 后端接口开发 - 发布、下线接口,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、上线接口(仅管理员)

1. 校验请求参数

2. 判断(测试)接口是否可以调用

  • 引入调用接口的客户端(自己写的 SDK)
  • 注入客户端实例
  • 调用接口

3. 修改数据库中接口的状态

    /*** 上线(发布)接口** @param idRequest* @param request* @return*/@PostMapping("/online")@AuthCheck(mustRole = "admin")public BaseResponse<Boolean> onlineInterfaceInfo(@RequestBody IdRequest idRequest,HttpServletRequest request) {if (idRequest == null || idRequest.getId() <= 0) {throw new BusinessException(ErrorCode.PARAMS_ERROR);}// 1. 校验接口是否存在Long id = idRequest.getId();InterfaceInfo oldInterfaceInfo = interfaceInfoService.getById(id);if (oldInterfaceInfo == null) {throw new BusinessException(ErrorCode.NOT_FOUND_ERROR);}// 2. 校验接口是否可以调用com.ghost.leapiclientsdk.model.User user = new com.ghost.leapiclientsdk.model.User();user.setUsername("testInterfaceInfo");String nameByJSON = leAPIClient.getNameByJSON(user);if (StringUtils.isBlank(nameByJSON)) {throw new BusinessException(ErrorCode.SYSTEM_ERROR, "接口调用失败");}// 3. 修改数据库中接口的状态InterfaceInfo interfaceInfo = new InterfaceInfo();interfaceInfo.setId(id);interfaceInfo.setStatus(InterfaceInfoStatusEnum.ONLINE.getValue());boolean result = interfaceInfoService.updateById(interfaceInfo);return ResultUtils.success(result);}

4. 测试上线接口功能

  • 使用 Knife4j 接口文档进行测试

  • 查看数据库中接口状态是否修改成功

 

二、下线接口(仅管理员)

1. 校验请求参数

2. 校验接口是否已经发布上线:只有已经上线的接口才能下线

3. 修改数据库中接口的状态

    /*** 下线(关闭)接口** @param idRequest* @param request* @return*/@PostMapping("/offline")public BaseResponse<Boolean> offlineInterfaceInfo(@RequestBody IdRequest idRequest, HttpServletRequest request) {if (idRequest == null || idRequest.getId() <= 0) {throw new BusinessException(ErrorCode.PARAMS_ERROR);}// 1. 校验接口是否存在Long id = idRequest.getId();InterfaceInfo oldInterfaceInfo = interfaceInfoService.getById(id);if (oldInterfaceInfo == null) {throw new BusinessException(ErrorCode.NOT_FOUND_ERROR);}// 2. 只有已经上线的接口才能下线if (oldInterfaceInfo.getStatus() != InterfaceInfoStatusEnum.ONLINE.getValue()) {throw new BusinessException(ErrorCode.PARAMS_ERROR, "该接口尚未上线");}// 3. 修改数据库中接口的状态InterfaceInfo interfaceInfo = new InterfaceInfo();interfaceInfo.setId(id);interfaceInfo.setStatus(InterfaceInfoStatusEnum.OFFLINE.getValue());boolean result = interfaceInfoService.updateById(interfaceInfo);return ResultUtils.success(result);}

4. 测试上线接口功能

  • 使用 Knife4j 接口文档进行测试

  • 查看数据库中接口状态是否修改成功

这篇关于LeAPI 后端接口开发 - 发布、下线接口的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/678806

相关文章

VSCode开发中有哪些好用的插件和快捷键

《VSCode开发中有哪些好用的插件和快捷键》作为全球最受欢迎的编程工具,VSCode的快捷键体系是提升开发效率的核心密码,:本文主要介绍VSCode开发中有哪些好用的插件和快捷键的相关资料,文中... 目录前言1、vscode插件1.1 Live-server1.2 Auto Rename Tag1.3

Agent开发核心技术解析以及现代Agent架构设计

《Agent开发核心技术解析以及现代Agent架构设计》在人工智能领域,Agent并非一个全新的概念,但在大模型时代,它被赋予了全新的生命力,简单来说,Agent是一个能够自主感知环境、理解任务、制定... 目录一、回归本源:到底什么是Agent?二、核心链路拆解:Agent的"大脑"与"四肢"1. 规划模

Python+wxPython开发一个文件属性比对工具

《Python+wxPython开发一个文件属性比对工具》在日常的文件管理工作中,我们经常会遇到同一个文件存在多个版本,或者需要验证备份文件与源文件是否一致,下面我们就来看看如何使用wxPython模... 目录引言项目背景与需求应用场景核心需求运行结果技术选型程序设计界面布局核心功能模块关键代码解析文件大

C++多线程开发环境配置方法

《C++多线程开发环境配置方法》文章详细介绍了如何在Windows上安装MinGW-w64和VSCode,并配置环境变量和编译任务,使用VSCode创建一个C++多线程测试项目,并通过配置tasks.... 目录下载安装 MinGW-w64下载安装VS code创建测试项目配置编译任务创建 tasks.js

requests处理token鉴权接口和jsonpath使用方式

《requests处理token鉴权接口和jsonpath使用方式》文章介绍了如何使用requests库进行token鉴权接口的处理,包括登录提取token并保存,还详述了如何使用jsonpath表达... 目录requests处理token鉴权接口和jsonpath使用json数据提取工具总结reques

python调用dubbo接口的实现步骤

《python调用dubbo接口的实现步骤》本文主要介绍了python调用dubbo接口的实现步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编... 目录 ​​其他实现方式与注意事项​​ ​​高级技巧与集成​​用 python 提供 Dubbo 接口

Java中接口和抽象类的异同以及具体的使用场景

《Java中接口和抽象类的异同以及具体的使用场景》文章主要介绍了Java中接口(Interface)和抽象类(AbstractClass)的区别和联系,包括相同点和不同点,以及它们在实际开发中的具体使... 目录一、接口和抽象类的 “相同点”二、接口和抽象类的 “核心区别”关键区别详解(避免踩坑)三、具体使

一文详解Python如何开发游戏

《一文详解Python如何开发游戏》Python是一种非常流行的编程语言,也可以用来开发游戏模组,:本文主要介绍Python如何开发游戏的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下... 目录一、python简介二、Python 开发 2D 游戏的优劣势优势缺点三、Python 开发 3D

基于Python开发Windows自动更新控制工具

《基于Python开发Windows自动更新控制工具》在当今数字化时代,操作系统更新已成为计算机维护的重要组成部分,本文介绍一款基于Python和PyQt5的Windows自动更新控制工具,有需要的可... 目录设计原理与技术实现系统架构概述数学建模工具界面完整代码实现技术深度分析多层级控制理论服务层控制注

MySQL中C接口的实现

《MySQL中C接口的实现》本节内容介绍使用C/C++访问数据库,包括对数据库的增删查改操作,主要是学习一些接口的调用,具有一定的参考价值,感兴趣的可以了解一下... 目录准备mysql库使用mysql库编译文件官方API文档对象的创建和关闭链接数据库下达sql指令select语句前言:本节内容介绍使用C/