【新】ApiHug官方文档-框架介绍-1/10

ApiHug SDK 扩展

https://apihug.com/zhCN-docs/frameworkApiHug SDK 扩展icon-default.png?t=O83Ahttps://apihug.com/zhCN-docs/framework

ApiHug - API design Copilot - IntelliJ IDEs Plugin | Marketplaceicon-default.png?t=O83Ahttps://plugins.jetbrains.com/plugin/23534-apihug--api-design-copilot

快速开启 - ApiHug如何在15分钟内,使用 ApiHug 启动一个API开发项目.icon-default.png?t=O83Ahttps://apihug.com/zhCN-docs/start

​Common

Hope 带来框架层几个扩展:

模块备注
it-common包含:通用辅助类(Utils), 通用协议定义
it-common-api涉及到API通用类,辅助类定义
it-common-mock运行时 mock 上下文定义
it-common-springspring 扩展,详细参考下面spring 系列
it-common-spring-commonspring 通用扩展
it-common-spring-apispring API定义扩展
it-common-spring-cachespring cache扩展
it-common-spring-corespring 核心扩展
it-common-spring-dataspring data扩展
it-common-spring-mockspring mock 扩展

​it-common

包名备注范围
async包含两个通用 Executor Global帮助类可选
contractcontract 测试协议定义mock使用
enumeration常量定义协议必须
meta框架 meta信息定义,框架需要(运行时不需要)框架
persistence框架 ORMd定义信息,框架需要(运行时不需要)框架
runtime运行时上下文,作为actuator信息暴露,框架处理框架
scriptIDEA 扩展内嵌script 需要,运行时不需要框架
serviceAPI 服务信息annotation,运行时信息框架
  1. 大部分是框架运行时依赖的对象,在自己业务逻辑代码基本不需要引用;
  2. enumeration 是框架内定义需要对外暴露常量固定范式,使用 proto 方式定义会自动符合此标准;

​it-common-api

包含 API 运行时定义公用数据类型和帮助类;

类名备注
PageRequest分页查询Parameter对象
Pageable分页数据集
Result标准API返回结果
ResultBuilderResult Builder

​分页

参考Spring:

  1. Spring Data PageRequest
  2. Spring Data Pageable

分页请求-PageRequest

名称备注
pageZero-based page index (0..N)
sizeSize of the page to be returned
offSetinfinite scroll load this is the last offset if any key specific
sortSorting criteria in the format: property,(asc or desc). Default sort order is ascending. Multiple sort criteria are supported.

分页数据集-Pageable

名称备注
pageIndex当前页码
pageSize本页对象数量
totalPage总数
totalPage总页数
data对象列表

​返回体

返回对象-Result

名称备注
code返回码,非零失败,零成功
message返回提示信息
payload信息载体 (泛类型对象 T)
errors错误列表 Error

​Error

Hope 通用错误定义:

名称备注例子
code错误代码100002401
title错误标题USER_NAME_EMPTY
description错误描述user name should not be empty
description2错误描述2用户名不可以为空
pathfield pathuser.name
fieldfield namename
rejectedValue被拒绝值(原值)jake
constraint约束NOT_NULL
tips提示价格必须是正数如:1000.12
phase阶段CONTROLLER
severity严重程度ERROR
domaindomainaccount
properties扩展字段(Map)-
httpStatushttp状态BAD_REQUEST
​Phase
名称备注例子
CONTROLLERController表单层
SERVICEService服务层
DOMAINDomain领域层
​Severity
名称备注例子
LOWLow低,无影响
WARNWarn警告,业务错误可重试
ERRORError错误,业务无法进行
FATALFatal灾难,数据破坏
​HttpStatus

包含标准的 Http 状态码, 不一一枚举,比如 BAD_REQUEST(400)FORBIDDEN(403);

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/487503.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

06-标准库开发-STM32-SPI通信协议软件实现

八、SPI协议在STM32中的软件实现 8.1 SPI协议简介 SPI(Serial Peripheral Interface,串行外设接口)是由Motorola公司开发的一种同步串行数据通信总线。它主要用于微控制器与外设之间的短距离通信,如传感器、显示屏、存储器模块等…

C++ 中的隐式类型转换与强制类型转换详解

在 C 中,类型转换是一个非常重要的概念,涉及从一种数据类型向另一种数据类型的转换。本文将从 隐式类型转换 和 强制类型转换 两个方面详细探讨它们的行为和注意事项,特别是高位和低位的处理。 一、隐式类型转换 隐式类型转换(Im…

Redis篇-5--原理篇4--Lua脚本

1、概述 Redis 支持使用 Lua 脚本来执行复杂的操作,这为 Redis 提供了更强的灵活性和性能优化能力。通过 Lua 脚本,你可以在服务器端执行一系列命令,而不需要多次往返客户端与服务器之间,从而减少了网络延迟并提高了效率。此外&a…

Muduo网络库解析---事件循环模块

文章目录 前言ChannelChannel代码Channel.hChannel.cc PollerPoller代码Poller.hPoller.cc EpollPollerEpollPoller代码EpollPoller.hEpollPoller.cc EventLoopEventLoop代码EventLoop.hEventLoop.cc 类图 前言 重写Muduo库实现核心模块的Git仓库 注:本文将重点剖…

全面解析Node.js版本管理工具NVM

本文还有配套的精品资源,点击获取 简介:NVM(Node Version Manager)是一个强大的工具,用于在不同项目中管理多个Node.js版本。通过NVM,开发者可以轻松切换环境,优化工作流程,并提升…

第十七届山东省职业院校技能大赛 中职组“网络安全”赛项资源任务书样题②

第十七届山东省职业院校技能大赛 中职组“网络安全”赛项资源任务书样题② 模块A 基础设施设置与安全加固(200分)A-1 登录安全加固(Windows, Linux)A-2 Nginx安全策略(Linux)A-3日志监控(Windows)A-4中间件…

常用环境部署(二十四)——Docker部署开源物联网平台Thingsboard

1、Docker和Docker-compose安装 参考网址如下: CENTOS8.0安装DOCKER&DOCKER-COMPOSE以及常见报错解决_centos8安装docker-compose-CSDN博客 2、 Thingsboard安装 (1)在/home目录下创建docker-compose.yml文件 vim /home/docker-com…

Python定位Span标签中的文字:实战指南

目录 一、准备工作 二、基本流程 三、代码示例 四、案例分析 五、进阶技巧 处理多个标签: 根据其他属性定位: 结合XPath: 使用Selenium: 六、注意事项 七、总结 在网页数据抓取和信息提取的过程中,经常需要…

【K8S系列】在 Kubernetes 中使用 Prometheus 进行监控的详细指南

Prometheus 是一个开源的监控和报警工具,广泛用于 Kubernetes 环境中。本文将深入探讨如何通过 Kubernetes 中的注解配置 Prometheus 的抓取设置,以高效监控服务,并确保系统的可靠性和可维护性。 一、Prometheus 简介 Prometheus 是一个功能…

网页核心页面设计(第7章)

一、生态家居网页 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta http-equiv"X-UA-Compatible" content"IEedge" /><meta name"viewport" content"widthdevi…

Unix、GNU、BSD 风格中 ps 参数的区别

注&#xff1a;本文为“不同风格中 ps 命令参数的区别”相关文章合辑。 未去重。 BSD 风格和 UNIX 风格中 ps 参数的区别 作者&#xff1a;Daniel Stori 译者&#xff1a;LCTT Name1e5s | 2017-06-17 10:53 One Last Question ps aux 以及 ps -elf 都是查看进程的方式&…

vue前端实现导出页面为word(两种方法)

将vue页面导出为word文档&#xff0c;不用写模板&#xff0c;直接导出即可。 第一种方法(简单版) 第一步&#xff1a;安装所需依赖 npm install html-docx-js -S npm install file-saver -S第二步&#xff1a;创建容器&#xff0c;页面使用方法&#xff08;简单版&#xff1…

【C++】map

map 可以看到&#xff0c;map也有map和multimap两种。 可以看到第一个参数Key是key&#xff0c;第二个T其实就是value。第三个参数可以看出只有Key参与比较&#xff0c;value不进行比较。 map的Key就是map底层关键字的类型&#xff0c;T是map底层value的类型&#xff0c;set默…

专题一:斐波那契数列模型算法

> 作者&#xff1a;დ旧言~ > 座右铭&#xff1a;松树千年终是朽&#xff0c;槿花一日自为荣。 > 目标&#xff1a;了解什么是记忆化搜索&#xff0c;并且掌握记忆化搜索算法。 > 毒鸡汤&#xff1a;有些事情&#xff0c;总是不明白&#xff0c;所以我不会坚持。早…

基础算法——搜索与图论

搜索与图论 图的存储方式2、最短路问题2.1、Dijkstra算法&#xff08;朴素版&#xff09;2.2、Dijkstra算法&#xff08;堆优化版&#xff09;2.3、Bellman-Ford算法2.4、SPFA求最短路2.5、SPFA判负环2.6、Floyd算法 图的存储方式 2、最短路问题 最短路问题可以分为单源最短路…

Linux下mysql环境的搭建

1.mysql的下载 去MySQL官网下载mysql的linux压缩包 MySQL :: Download MySQL Community Server 如果下载慢请到网盘中自行下载 通过网盘分享的文件&#xff1a;mysql-8.0.40-1.el7.x86_64.rpm-bundle.tar 链接: https://pan.baidu.com/s/1vUJ-VuTwer1nLPT-haQCqw?pwd6342 提…

深入解析 Spring Security —— 打造高效安全的权限管理体系

目录 前言1. 初识 Spring Security1.1 Spring Security 的两大核心功能1.2 Spring Security 的主要特点 2. 配置 Spring Security2.1 配置类概述2.2 基础配置示例2.3 示例解析 3. Spring Security 的进阶功能3.1 自定义用户服务3.2 注解式权限控制3.3 动态权限控制 4. 实战应用…

Next.js 实战 (三):优雅的实现暗黑主题模式

前言 在 Next.js 中要实现暗黑模式&#xff0c;需要用到一个库&#xff1a;next-themes&#xff0c;它可以帮助我们很轻易地实现暗黑模式切换。 具体步骤 安装 next-themes 依赖&#xff1a; pnpm add next-themes新增 /components/ThemeProvider/index.tsx 文件&#xff1…

ubuntu下Qt5自动编译配置QtMqtt环境

原文链接&#xff1a;ubuntu下Qt5自动编译配置QtMqtt环境&#xff08;10&#xff09;-CSDN博客 19:57:10: 正在启动 "/usr/bin/make" install_docs -j16cd src/ && ( test -e Makefile || /opt/Qt5.14.2/5.14.2/gcc_64/bin/qmake -o Makefile /home/mhf/qtmq…