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

相关文章

Android 悬浮窗开发示例((动态权限请求 | 前台服务和通知 | 悬浮窗创建 )

《Android悬浮窗开发示例((动态权限请求|前台服务和通知|悬浮窗创建)》本文介绍了Android悬浮窗的实现效果,包括动态权限请求、前台服务和通知的使用,悬浮窗权限需要动态申请并引导... 目录一、悬浮窗 动态权限请求1、动态请求权限2、悬浮窗权限说明3、检查动态权限4、申请动态权限5、权限设置完毕后

定价129元!支持双频 Wi-Fi 5的华为AX1路由器发布

《定价129元!支持双频Wi-Fi5的华为AX1路由器发布》华为上周推出了其最新的入门级Wi-Fi5路由器——华为路由AX1,建议零售价129元,这款路由器配置如何?详细请看下文介... 华为 Wi-Fi 5 路由 AX1 已正式开售,新品支持双频 1200 兆、配有四个千兆网口、提供可视化智能诊断功能,建

Deepseek R1模型本地化部署+API接口调用详细教程(释放AI生产力)

《DeepseekR1模型本地化部署+API接口调用详细教程(释放AI生产力)》本文介绍了本地部署DeepSeekR1模型和通过API调用将其集成到VSCode中的过程,作者详细步骤展示了如何下载和... 目录前言一、deepseek R1模型与chatGPT o1系列模型对比二、本地部署步骤1.安装oll

MyBatis-Flex BaseMapper的接口基本用法小结

《MyBatis-FlexBaseMapper的接口基本用法小结》本文主要介绍了MyBatis-FlexBaseMapper的接口基本用法小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具... 目录MyBATis-Flex简单介绍特性基础方法INSERT① insert② insertSelec

Spring排序机制之接口与注解的使用方法

《Spring排序机制之接口与注解的使用方法》本文介绍了Spring中多种排序机制,包括Ordered接口、PriorityOrdered接口、@Order注解和@Priority注解,提供了详细示例... 目录一、Spring 排序的需求场景二、Spring 中的排序机制1、Ordered 接口2、Pri

Idea实现接口的方法上无法添加@Override注解的解决方案

《Idea实现接口的方法上无法添加@Override注解的解决方案》文章介绍了在IDEA中实现接口方法时无法添加@Override注解的问题及其解决方法,主要步骤包括更改项目结构中的Languagel... 目录Idea实现接China编程口的方法上无法添加@javascriptOverride注解错误原因解决方

基于Python开发PPTX压缩工具

《基于Python开发PPTX压缩工具》在日常办公中,PPT文件往往因为图片过大而导致文件体积过大,不便于传输和存储,所以本文将使用Python开发一个PPTX压缩工具,需要的可以了解下... 目录引言全部代码环境准备代码结构代码实现运行结果引言在日常办公中,PPT文件往往因为图片过大而导致文件体积过大,

Java function函数式接口的使用方法与实例

《Javafunction函数式接口的使用方法与实例》:本文主要介绍Javafunction函数式接口的使用方法与实例,函数式接口如一支未完成的诗篇,用Lambda表达式作韵脚,将代码的机械美感... 目录引言-当代码遇见诗性一、函数式接口的生物学解构1.1 函数式接口的基因密码1.2 六大核心接口的形态学

使用DeepSeek API 结合VSCode提升开发效率

《使用DeepSeekAPI结合VSCode提升开发效率》:本文主要介绍DeepSeekAPI与VisualStudioCode(VSCode)结合使用,以提升软件开发效率,具有一定的参考价值... 目录引言准备工作安装必要的 VSCode 扩展配置 DeepSeek API1. 创建 API 请求文件2.

详解Java如何向http/https接口发出请求

《详解Java如何向http/https接口发出请求》这篇文章主要为大家详细介绍了Java如何实现向http/https接口发出请求,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 用Java发送web请求所用到的包都在java.net下,在具体使用时可以用如下代码,你可以把它封装成一