java~api返回值的标准化

从DeepMimic到虚拟偶像:用动作捕捉数据训练AI跳舞的完整流程(附Blender插件配置) 本文详细介绍了如何利用DeepMimic的深度强化学习框架,将动作捕捉数据转化为虚拟偶像或游戏角色的舞蹈动作。从核心的模仿学习理念、PyBullet环境搭建、策略网络与奖励函数设计,到数据处理、训练技巧(如参考状态初始化),最后讲解了如何将训练好的AI模型集成到Blender和Unity等工具中,实现从数据到实时驱动角色的完整流程。 阅读详情

api返回值的标准化

例如

{"status":200,"message":"操作成功","data":"{"id":1,"name":"张三"}"}

封装返回对象

对象被封装在base.util.ResponseUtils类型下,返回值是标准的ResponseEntity对象,返回体

进行了二次封装,主要有status,messsage和data组成,返回方法有ok和okMessage,如果

真是返回消息,不需要对象,可以选择使用okMessage,反之使用ok方法。

封装的返回对象:

 @Builder
 @Getter
 @NoArgsConstructor
 @AllArgsConstructor
 static class ResponseBody {
 private int status;
 private String message;
 private Object data;
 }

httpError和我们封装的httpError

对于http error来说有很多种,基本可以定为code在400到500之间的,像客户端参数问题就是400- bad request,而没有认证就是401-Unauthorized,认证但没有对应的权限就是403-Forbidden,请求的

资源没有发现就是404-Not Found,请求方式错误(方法是post,你发起请求用了get)就是405- Method Not Allowed等。

  • 使用标准http响应状态码
 @GetMapping(GET_HTTP_ERROR)
 ResponseEntity<?> getHttpError() throws IOException {
 return ResponseEntity.badRequest().build();
 }
 @Test
 public void getHttpError() throws Exception {
 mockMvc
 .perform(
 get(LindDemo.GET_HTTP_ERROR)
 .accept(MediaType.APPLICATION_JSON_UTF8))
 .andExpect(status().is(400));
 
 }
 

响应的结果

MockHttpServletResponse:
 Status = 400
 Error message = null
 Headers = {}
 Content type = null
 Body = 
 Forwarded URL = null
 Redirected URL = null
 Cookies = []
  • 使用我们封装的status状态码
 @GetMapping(GET_ERROR)
 ResponseEntity<?> getError() throws IOException {
 return ResponseUtils.badRequest("传入的参数非法!");
 }
 
 @Test
 public void getError() throws Exception {
 mockMvc
 .perform(
 get(LindDemo.GET_ERROR)
 .accept(MediaType.APPLICATION_JSON_UTF8))
 .andExpect(status().isOk());
 
 }

响应的结果

MockHttpServletResponse:
 Status = 200
 Error message = null
 Headers = {Content-Type=[application/json;charset=UTF-8]}
 Content type = application/json;charset=UTF-8
 Body = {"status":400,"message":"传入的参数非法!","data":{}}
 Forwarded URL = null
 Redirected URL = null
 Cookies = []

通过上面的响应结果可以看到,我们封装的请求httpcode还是200,只不过把请求错误400状态码写在了body

对象里,目前这种方法用的比较多,像一些第三方接口用的都是这种方式,他们会规定相应的响应规范。

总结

事实上,两种响应体都没有问题,关键在于开发之间的规则要确定,不要在项目里两者兼用!

这里是程序员秘密聚集地,各位还在架构师的道路上挣扎的小伙伴们速来。“

加QQ群:585550789(名额有限哦!)

关于瑞芯微SDK中buildroot的架构分析、配置细节、以及一些使用步骤 摘要:瑞芯微SDK基于Buildroot框架,针对RK3568等芯片提供定制化开发环境。核心目录包括buildroot(配置与编译框架)、kernel(定制内核)和u-boot(引导程序)。开发流程为:1)加载芯片默认配置;2)通过menuconfig定制系统(架构、内核、软件包等);3)可选修改内核配置。关键硬件适配需修改设备树(dts)和分区表(parameter.txt),系统行为通过启动脚本(S90network)调整。最终执行make编译生成可烧录固件。该框架通过配置文件驱动,实现从工具链构建到固 阅读详情

相关推荐

论文笔记:基于对比学习的半监督分类学习方法

论文阅读笔记_CCSSL

weixin_46224126的博客 3319

QQ状态查询程序

前几天在网上看到的方法,打开地址http://wpa.qq.com/pa?p=1:88888:4能看到88888的在线状态。刚才把它弄成个小程序,自己编程特烂,希望高手指出错误。开始用IDHTTP组件,不知道为啥老出错,所以改用CLIENTSOCKET组件了。unit UtMain;interfaceuses  Windows, Messages, SysUtils, Variants, Clas

蓝色的雨 2326

Windows升级保留个人文件和应用灰色?改注册表版本指纹

Windows 升级安装并非简单跳过下一步,安装程序会先读取注册表中 HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion 下的 EditionID、ProductName、CompositionEditionID 等版本指纹,与目标镜像 install.wim/esd 记录的版本类型做双向匹配。若当前系统被识别为 LTSC、精简版或跨版本降级,兼容性扫描会判定升级路径不可用,于是“保留个人文件和应用”变灰,只能全新安装。理解版本指纹与升级可行性表的匹配机制,可

weixin_31986143的博客 380

解析 json 字符串

         // 解析 json          String json  =  "{'status':200,'message':'查询成功','data':[{'id':1,'name':'name1','describe':'第一条数据'}]}";         JSONObject json_ =  JSONObject.fromObject(json);        Stri...

qq_37469931的博客 1173

昇腾Ascend310b部署deepseek-r1-7b的学习记录

9.鲲鹏服务器+昇腾卡(Atlas 300I pro)搭建DeepSeek-R1-Distill-Qwen-7B(自己存档详细版)5.如何使用昇腾Ascend 300I Pro 310P芯片 单卡运行DeepSeek-R1-Distilled-Qwen-7B。6.鲲鹏服务器+昇腾卡(Atlas 300I pro)搭建DeepSeek-R1-Distill-Qwen-7B。7.鲲鹏+昇腾部署DeepSeek-R1-Distill-Qwen-32B+Open-webui。

maken 2379

保姆级教程:在RK3568上搞定PR2100K+GC2385双摄(从DTS配置到HAL层补丁)

本文详细介绍了在RK3568平台上调试PR2100K+GC2385双摄系统的完整流程,从DTS配置到HAL层补丁。涵盖硬件连接、媒体控制器拓扑验证、Camera3配置、HAL层特殊补丁及性能优化等关键步骤,帮助开发者快速解决双摄调试中的常见问题,提升嵌入式视觉系统开发效率。

weixin_28724661的博客 197

学习百度SDK遇到问题200代码的解决方法

在学习百度SDK的地位服务时,第一定位没有问题 并且gps定位正常,但是只要网络定位一更新,便会出现 异常坐标,看了很久代码和开发者文档一直没有发现问题 看了下错误代码 {“status”:200,”message”:”APP不存在”} 也不知道什么原因 最后发现是AK钥匙拷贝的时候多了一个空格,导致第二次读取失败 所以,遇到200代码的问题首先检查AK钥匙,希望

Lizheng~的博客 1491

基于GELAN模块的YOLOv8改进-C2f结构替换与轻量化与高效涨点优化研究

本文详细探讨了在YOLOv8架构中利用YOLOv9的GELAN模块替换C2f结构的改进方法。轻量化版本在资源受限的场景中具有显著的推理效率提升,适用于边缘设备和移动端应用。高效涨点版本则在检测精度上实现了大幅突破,特别适合高精度要求的任务。实验结果显示,GELAN模块相比原C2f模块,在参数量与计算量间取得了更好的平衡,同时提升了检测性能。此外,本文还展示了结构图、训练代码和部署优化方案,为研究者和开发者提供了实践参考。

博客 1439

Node.js学习笔记(七)#Express框架

Express是基于Node.js平台,快速、开放、极简的 Web 开发框架。简单来说,Express作用与http模块类似,不仅保留了http的基本API,还额外封装了一些新方法,比起http模块开发效率更高。Express也提供了中间件功能,包含内置中间件、第三方中间件以及自定义中间件三种中间件,可用于拦截请求和响应,对请求和响应进行功能扩展。

weixin_42214717的博客 1623

CenterPoint 工程复现

CenterPoint 工程复现,本文中使用版本:BEVerse工程下的mmdet3d (`MMDet3d v0.17.3`)版本,MMDetection3D中其他版本的使用`大同小异`。

Darchan的博客 5663

鸿蒙开发实战项目(九十二):HUAWEI Health血压测量

是华为开发的用于运动健康领域的一个开放平台, 三方APP可以借助HUAWEI Health开放平台提供的。

斌擎科技 1133

java 封装返回值_java~api返回值的标准化

java~api返回值的标准化发布时间:2019-03-08 11:58,浏览次数:844, 标签:javaapiapi返回值的标准化例如{"status":200,"message":"操作成功","data":"{\"id\":1,\"name\":\"张三\"}"}封装返回对象对象被封装在base.util.ResponseUtils类型下,返回值是标准的ResponseEntity对象,返...

weixin_36352432的博客 181

YOLO11训练中的过拟合识别与应对策略:讲解过拟合的表现、原因及应对方法(如数据增强、正则化、DropOut)

摘要 本文深入探讨了YOLO11目标检测模型中的过拟合问题。首先解析了过拟合的本质,即模型在训练数据上表现优异但泛化能力差的现象,并通过误差分解公式解释了其数学原理。文章详细列举了YOLO11中过拟合的具体表现,包括训练与验证指标分化、检测性能不一致性、置信度分布异常和类别检测不均衡等问题,并提供了对应的可视化诊断方法。 在原因分析部分,重点阐述了模型复杂度与数据规模不匹配、训练数据质量与分布问题以及训练策略不当三大根本原因。特别对比了YOLO11不同版本(n/s/m/l/x)的参数量和推荐最小数据量,指出

本博客聚焦 YOLOv11 全流程落地,涵盖架构优化、数据集处理、训练技巧与多场景部署,兼及国产数据库、Java 开发与 AI 模型应用,内容兼顾理论与工程实践,为开发者提供系统干货,助力高效提升技术能力。 247

java标准化_java~api返回值的标准化

api返回值的标准化例如{"status":200,"message":"操作成功","data":"{\"id\":1,\"name\":\"张三\"}"}封装返回对象对象被封装在base.util.ResponseUtils类型下,返回值是标准的ResponseEntity对象,返回体进行了二次封装,主要有status,messsage和data组成,返回方法有ok和okMessage,如果真...

weixin_29002595的博客 188

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

贝叶斯统计 [韦来生编]

贝叶斯(Bayes)统计是近几十年来迅速发展起来的数理统计的一个重要分支。贝叶斯方法与经典统计方法的主要不同之处是进行统计推断时除了利用样本信息外,还要利用参数的先验信息,因此可以提高统计推断或统计决策的效果。它在经济、金融、生物、医学、自然科学和社会科学等许多领域具有广泛的应用。贝叶斯方法的研究已渗透到了统计学的几乎所有领域。作者在给中国科学技术大学概率论与数理统计专业本科生开设的“数理统计”课程中有一章专门讲授“贝叶斯方法和统计决策理论”,近十年来也给中国科学技术大学概率统计专业研究生开设过几次“贝叶斯分析”课。本书是在对过去讲稿的内容作了适当的增减和调整的基础上完成的。  本书共分六章。第1章是绪论,介绍了贝叶斯统计的若干基本概念,同时对必要的数理统计的基础知识有重点地作了回顾。第二章介绍了确定先验分布的若干可供选择的方法。第三章介绍了几类常见统计模型参数的后验分布的主要结果和计算方法。第四章和第五章分别介绍了“贝叶斯统计推断”和“贝叶斯统计决策”的内容。第六章介绍了贝叶斯统计计算的若干方法,包括蒙特卡洛方法和马尔可夫链蒙特卡洛(MCMC)方法以及相关统计软件的简介。本书的每一章附右大量的例题和习题,书末附有常用的几个表格和部分习题解答供读者查用。  大约可在54学时内讲授本书的第1章至第六章的主要内容,教师可根据学时需要选讲本书第1章至第六章的部分内容。书中标“*”号的章节可略去不讲,留给读者作为阅读材料。第六章例题中的R代码和部分例题的数据文件等可从作者个人主页下载。  作者在编写本书的过程中参考了J.O.Berger教授的《统计决策论及贝叶斯分析》和茆诗松教授编写的《贝叶斯统计》等书中的一些内容,以及《贝叶斯分析》一书中由张伟平博士编写的有关贝叶斯统计计算的一些内容。在此表示衷心感谢。  本书编写准备过程中,中国科学技术大学统计与金融系的几个研究生帮助完成了本书部分中文的录入和排版,作者对他们的辛勤工作表示真诚的感谢。高等教育出版社为本书的出版给予了大力支持。在此一并致谢。

java标准的接口返回_java~api返回值的标准化

api返回值的标准化例如{"status":200,"message":"操作成功","data":"{"id":1,"name":"张三"}"}封装返回对象对象被封装在base.util.ResponseUtils类型下,返回值是标准的ResponseEntity对象,返回体进行了二次封装,主要有status,messsage和data组成,返回方法有ok和okMessage,如果真是返回消息,...

weixin_34580441的博客 864

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

java第三方接口标准化_java~api返回值的标准化

api返回值的标准化例如{"status":200,"message":"操作成功","data":"{"id":1,"name":"张三"}"}封装返回对象对象被封装在base.util.ResponseUtils类型下,返回值是标准的ResponseEntity对象,返回体进行了二次封装,主要有status,messsage和data组成,返回方法有ok和okMessage,如果真是返回消息,...

weixin_39734399的博客 285

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

java jvm目录_java和Jvm目录

回到占占推荐博客索引主要介绍java基础知识,非框架类及JVM相关的内容文章java和Jvm目录Java~关于开发工具和包包Java~类,抽象类和接口Java~时间戳小知识Java~命名规范java~google样式检查和命名规范java~日期与字符串的转化java~lambda表达式让查询更优雅java~集合的介绍和使用java~集合分组groupby的实现java~IDEA引用包时分组所有ja...

weixin_39592789的博客 120

java~springboot~目录索引

回到占占推荐博客索引 最近写了不过关于java,spring,微服务的相关文章,今天把它整理一下,方便大家学习与参考。 java~springboot~目录索引 Java~关于开发工具和包包 Java~类,抽象类和接口 Java~时间戳小知识 Java~命名规范 IntelliJ IDEA~gradle环境配置 springboot~环境搭建与Helloworld springb...

weixin_33910460的博客 126

【nodejs】数据解析处理的一些问题

在做数据平台fbp模块的数据展示的时候,数据流是: 盟友平台 -> 接口请求 -> 获取json数据解析 -> 写DB -> 从DB读取数据 -> 处理数据 -> 回传前端展示获取json数据解析模拟接口请求抓包返回的数据是:{ "status": 200, "msg": "success", "data": { "count": 39, "issues": [

sysu_lluozh 3862

查询显示手机短消息

使用Content://sms/inbox Uri查询接收短消息,并将查询到的SMS显示到一个ListView控件中,同时在ListView item中提供删除短消息的功能://MainActivity.javapackage com.sms.inbox;import android.app.ListActivity;import android.content.ContentRe

fyqjnu的专栏 1035

手机验证码验证

手机验证的方式与邮箱验证的方式类似,只是发送的数据不同,依赖的jar包也是不同的,话不多说(我也讲不出来多好的东西,哈哈!),给你们上货 短信发送的一个接口 package com.kgc.service.userservice; import com.kgc.dto.Dto; import com.kgc.pojo.DmUser; import org.springframework.web...

qq_43757153的博客 761

【Java 进阶篇】深入理解 Java Response:从基础到高级

HTTP响应是服务器对客户端的HTTP请求的回应。它包括服务器发送给客户端的数据,通常是HTML文档、图像、样式表、JavaScript文件或其他资源。状态行(Status Line):状态行包括HTTP协议版本号、状态码和状态消息。状态码指示了请求的处理结果,如200表示成功,404表示未找到请求的资源,500表示服务器内部错误等。响应头部(Response Headers)

繁依Fanyi的博客 3190

java实现接口并返回http状态码200_系统服务化构建 状态码设计要点

本文转载于 SegmentFault 社区社区专栏:图南科技作者:needrunning009Code 状态码码是接口设计中的常见概念,本文主要讨论接口开发中 Code 码设计。从客户端和服务器端开发的角度,给出具体的工程实践建议和思考。从一份接口文档定义开始说起,文档中定义的服务端接口输出格式如下接口输出格式返回数据由两部分构成,第一部分是对结果集的说明,第二部分是 data 节点{...

weixin_35970195的博客 7504

@ApiResponses

@ApiResponses:用于表示一组响应 @ApiResponse:用在@ApiResponses中,一般用于表达一个错误的响应信息 code:数字,例如400 message:信息,例如”请求参数没填好” response:抛出异常的类

qq_42360413的博客 9484
上一篇: java~api返回值的标准化
下一篇: 揭秘 | 为什么Java程序员的薪资一直居高不下?
java1856905
博客等级 码龄8年 100粉丝 249原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值