java~api返回值的标准化

【CUT&TAG分析-加了spike in的样品】 使用 Bowtie2 或 Subread (subjunc) 来构建大肠杆菌的索引。bowtie2比对时设置参数–local, 局部比对。 阅读详情

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群:611481448(名额有限哦!)
 

嵌入式环境下XML配置文件解析实践 在资源受限的嵌入式环境中,如何轻量级地解析XML配置文件成为关键。通过简化语法结构与优化内存使用,实现快速读取和解析配置文件,提升系统启动效率与稳定性。 阅读详情

相关推荐

搭建ipv6并发代理池

我开了个知识星球,把将本期搭建写成shell脚本已放到了里面,有需要的小伙伴可以自行去取,jd的参数,阿里bxet纯算、快手滑块,Pdd—Anti,ikuai,b站login之-极验3文字,某音ab,瑞数456vmp补环境等等,主要是某些大佬加我问成品,很多人都打着白嫖的手段去加我好友为目的,问完基本就以后没有任何的交集,这样的交好友雀氏没有任何意义。不如我直接开个星球,里面直接放我逆向的成品以及逆向的思路,这样大家各取所需,我也有点收益,意义更明确点,免得浪费大家的时间。我是pve下的ubuntu。

weixin_44697518的博客 1473

【Java学习】API接口数据规范

在日常开发中,一个优雅的API,必须提供简单明了的响应值,然后根据状态码就可以大概知道问题的所在。这里主要整理一下HTTP状态码和自定义状态码。

Lemonss123的博客 3109

手把手教你解决Kernel panic报错:init找不到的5种排查方法(附NFS挂载实战)

本文深入解析了Linux系统启动时出现“Kernel panic - not syncing: No working init found”报错的根本原因,并提供了五种系统性的排查方法。文章结合NFS挂载根文件系统的实战场景,详细阐述了从动态链接库依赖、内核引导参数、NFS权限配置、文件系统完整性到内核配置干扰的完整排查路径,帮助开发者快速定位并解决这一常见的系统启动故障。

weixin_29159995的博客 196

API统一返回数据格式

如今的项目,基本上都是前后端分离,而且前端的生态也已经很强大。后端基本上只要保证数据响应就可以了。 那么,接口交互就成了前后端对接最重要也是最耗时的工作。而提高交互效率的最好的方法就是统一数据格式,后端把数据丢到一个统一的格式中去,前端解析数据也从固定的格式中去取。这样,前端就省去复杂的无关数据解析,能直接拿到想要的数据。后端也只需要把数据丢到固定的格式中去,不用每次都要包装一下。 格式统一 达到...

meiyouya优快云的博客 2655

飞书多维表格+影刀RPA:我如何用3个指令搞定每周的销售数据自动汇总(附完整配置截图)

本文详细介绍了如何利用飞书多维表格和影刀RPA实现销售数据的自动化汇总,通过三个核心指令(建立链接、列出记录、更新记录)简化繁琐的手工操作。文章包含完整的配置截图和实战指南,帮助用户快速部署自动化流程,提升工作效率。

weixin_29273849的博客 286

深度学习笔记(1)机器学习与深度学习基础

一些深度学习的简单概念和Transformer的学习。

hanliu2003的博客 1495

后端API接口的错误信息返回规范

最近我司要制定开发规范。在讨论接口返回的时候,后端的同事询问我们前端,错误信息的返回,前端有什么意见?所以做了一些调研给到后端的同事做参考。必须选择合适的HTTP状态码向前端返回详细的错误信息针对默认返回与API维护。

2301_78159247的博客 1533

SAP公司间外协业务流程以及配置说明

SAP公司间外协业务流程以及配置说明

竹大的博客 7173

【开发规范】替API接口制定统一的报文返回格式

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758/*** 返回报文格式**/@Data/*** 返回码*//*** 返回描述*//*** 返回tid*//*** 时间*//**

wufaqidong1的博客 2989

深度学习Halcon中GPU显存利用率高,但GPU、CPU利用率较低,导致模型训练速度很慢,通过设置硬件参数的解决方法

深度学习Halcon中GPU显存利用率高,但GPU、CPU利用率较低,导致模型训练速度很慢,通过设置硬件参数的解决方法 前言 在训练自己模型的时候,会遇到GPU显存利用率高,但GPU、CPU利用率较低,导致模型训练速度很慢的问题。这个问题一方面是由于硬件没有设置到最佳工作状态,另一方面是代码中参数没有设置好。最近在跑Halcon DL遇到这个问题,而Halcon不像开源的几个框架那样自由,代码封装的比较多。所以遇到这种问题,只能在参数最优的情况下,通过设置硬件参数来提升性能。 当然,在跑DL之前,无论什么框

ZiLiangQin的博客 9919

PostgreSQL:十五. 性能优化

十五. 性能优化 优化简介: PostgreSQL优化一方面是找出系统的瓶颈,提高PostgreSQL数据库整体的性能; 另一方面,需要合理的结构设计和参数调整,以提高用户操作响应的速度; 同时还要尽可能的节省系统资源,以便系统可以提供更大负荷的服务。 PostgreSQL数据库优化是多方面的,原则是减少系统的瓶颈,减少资源的占用,增加系统的反应速度。例如: 通过优化文件系统,提高磁盘IO的读写速度; 通过优化操作系统调度策略,提高PostgreSQL的在高负荷情况下负载能力; 优化表结构、索引、查询

数据知道的博客 4万+

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

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

weixin_29002595的博客 188

cefshap(C#)定义浏览器的右键菜单

菜单效果:复制(自带),搜索文本,打开链接,复制链接,刷新,检查,关于 public class MenuHandler : IContextMenuHandler { //public event Action<string> PopupRequest; void IContextMenuHandler.OnBeforeContextMenu(IWebBrowser browserControl, IBrows

无线智能模块 可视DIY智能专家 1708

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

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

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

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

weixin_39734399的博客 285

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

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

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

weixin_34580441的博客 864

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

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

RESTful API 最佳实践(转载)

转载: http://www.ruanyifeng.com/blog/2018/10/restful-api-best-practices.html RESTful 是目前最流行的 API 设计规范,用于 Web 数据接口的设计。 它的大原则容易把握,但是细节不容易做对。本文总结 RESTful 的设计细节,介绍如何设计出易于理解和使用的 API。 一、URL 设计 1.1 动词 + 宾...

雾气 1533

api调用返回结果规范

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_33786077的博客 731

API接口测试规范总结

一、参数校验 数据类型校验: 确保传入参数的数据类型与接口文档中定义的类型一致。 校验参数类型,如字符串、整数、浮点数等,是否满足要求。 数据长度校验:

人生不怕起点低,就怕没追求 950

服务 API 设计之 ——API 参数规范

注:参数中的调用方自定义数据部分允许使用 Map。API 提供方不关系、不解析、只透传。2、API 对扩展不友好,一旦想增加查询条件,API 就不兼容。Map 机制非常灵活,但这样的灵活却是负作用巨大。1、对于调用方来说,无论以什么条件查询,都需要逐个条件传参。分页查询,将查询条件以 DTO 方式包装。

Noah_ZX的博客 1011

前端规范——前后端接口规范

通用要求 接口命名小驼峰 如果不是restfull的接口,需要语义化,例如:getUserInfo、getUserList、createUser、updateUser、deleteUser、uploadUserImg 接口尽量轻巧,前端不需要的数据,不需要返回 后端尽量统一风格,禁止单独适配 为了避免某些Chrome浏览器广告屏蔽插件的误拦截,不使用ad等广告字眼 对前端的要求:前端使用axios统一封装请求方法,做统一请求、拦截 安全性要求 如果是客户敏感信息,接口绝对需要返回最小

loulanyijian的专栏 4857

PHP API返回值格式、状态码与提示内容规范

在PHP API开发中,返回值格式、状态码与提示内容的规范对于确保API的高效性和用户体验至关重要。

sheji888的专栏 1017
上一篇: 如何成为一名Java初级程序员
下一篇: java~api返回值的标准化
java1856905
博客等级 码龄8年 100粉丝 249原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值