Java返回结果封装,SpringBoot返回结果封装
================================
©Copyright 蕃薯耀 2020年1月10日
http://fanshuyao.iteye.com/
当后面需要返回json结果给前端时,往往要写很多代码,不利于代码重用,所以封装一个返回结果的bean,直接调用,这样方便简洁、高效率、代码统一美观。
一、返回结果bean封装
import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import com.szpl.gtkj.util.JsonUtil; public class Result { public static final String SUCCESS = "操作成功。"; public static final String FAILURE = "操作失败!"; private boolean result; private String msg; private Object datas; private Result() {} public static Result ok() { return Result.ok(SUCCESS); } public static Result ok(String msg) { return Result.ok(msg, null); } public static Result ok(Object datas) { return Result.ok(SUCCESS, datas); } public static Result ok(String msg, Object datas) { Result result = new Result(); result.setResult(true); result.setMsg(msg); result.setDatas(datas); return result; } public static Result fail() { return Result.fail(FAILURE); } public static Result fail(String msg) { return Result.fail(msg, null); } public static Result fail(Object datas) { return Result.fail(FAILURE, datas); } public static Result fail(String msg, Object datas) { Result result = new Result(); result.setResult(false); result.setMsg(msg); result.setDatas(datas); return result; } public boolean isResult() { return result; } public void setResult(boolean result) { this.result = result; } public String getMsg() { return msg; } public void setMsg(String msg) { this.msg = msg; } public Object getDatas() { return datas; } public void setDatas(Object datas) { this.datas = datas; } public static void main(String[] args) { System.out.println(JsonUtil.obj2String(Result.ok())); System.out.println(JsonUtil.obj2String(Result.ok("haha"))); System.out.println(JsonUtil.obj2String(Result.ok("haha", "aaa"))); Map<String, Object> map = new HashMap<String, Object>(); map.put("aa", "111"); map.put("bb", "22"); map.put("ccc", "33"); System.out.println(JsonUtil.obj2String(Result.ok("haha", map))); List<String> list = new ArrayList<String>(); list.add("aaaaaaaa"); list.add("bbbbbb"); list.add("cccccccccccc"); list.add("ddddddddddd"); System.out.println(JsonUtil.obj2String(Result.ok("haha", list))); System.out.println(JsonUtil.obj2String(Result.fail())); System.out.println(JsonUtil.obj2String(Result.fail("失败了"))); System.out.println(JsonUtil.obj2String(Result.fail(list))); System.out.println(JsonUtil.obj2String(Result.fail("失败了", map))); } }
二、使用方法:
1、返回成功:
return Result.ok();
重构的方法:
public static Result ok() { return Result.ok(SUCCESS); } public static Result ok(String msg) { return Result.ok(msg, null); } public static Result ok(Object datas) { return Result.ok(SUCCESS, datas); } public static Result ok(String msg, Object datas) { Result result = new Result(); result.setResult(true); result.setMsg(msg); result.setDatas(datas); return result; }
2、返回失败:
return Result.fail();
重构的方法:
public static Result fail() { return Result.fail(FAILURE); } public static Result fail(String msg) { return Result.fail(msg, null); } public static Result fail(Object datas) { return Result.fail(FAILURE, datas); } public static Result fail(String msg, Object datas) { Result result = new Result(); result.setResult(false); result.setMsg(msg); result.setDatas(datas); return result; }
三、使用示例:
在Controller声明@RestController
@RestController @RequestMapping("/xxx") public class XxxController{ …… }
结果返回的是Result对象bean
@RequestMapping("/uploadFiles") public Result uploadFiles(HttpServletRequest request, HttpServletResponse response, @RequestParam("files") MultipartFile[] multipartFiles) throws FileNotFoundException, IOException, ValidationException{ List<FileBean> fileBeans = this.saveFiles(request, response, multipartFiles); log.info("fileBeans = " + JsonUtil.obj2String(fileBeans)); return Result.ok(fileBeans); }
@RequestMapping("/save") public Result save(HttpServletRequest request, HttpServletResponse response, @RequestParam(value="files", required=true) MultipartFile[] multipartFiles) throws Exception { return Result.ok(); }
(如果你觉得文章对你有帮助,欢迎捐赠,^_^,谢谢!)
================================
©Copyright 蕃薯耀 2020年1月10日
http://fanshuyao.iteye.com/
相关推荐
springboot统返回结果集工具类demo
1、基于SSM架构,基于springboot实现,可用接口调用 2、azkaban的复杂的依赖配置可以变成简单的参数传递,自动生成flow和上传flow,省去了中间复杂的配置过程,开箱即用 3、接口直接执行azkaban,无需人工登录...
现在的数据层的开发,大多会使用如MyBatis或...由于部分场景下MyBatis或JPA之类无法满足我的需求,所以我打算自己封装一套查数据库的工具类。 文章地址: https://blog.csdn.net/lxyoucan/article/details/124042295
- `src/main/java`:包含SpringBoot的业务逻辑,如Controller、Service、Repository等层的Java类。 - `src/main/webapp`:存放前端资源,如HTML、CSS、JavaScript文件。其中,`eval-echarts-master`可能是一个包含...
Java权限控制系统基于Spring Boot的实现,提供了开箱即用的功能,极大地简化了开发流程,减少了开发者在基础架构上的投入,让您可以专注于业务逻辑。这个系统整合了MyBatis和Redis,利用它们各自的优势来实现数据...
"es工具封装,最新的springboot集成jpa和jest,集群" 这个标题涵盖了几个关键点: 1. **ES工具封装**:指的是对Elasticsearch(ES)进行了一些定制化的开发,创建了便于使用的工具类或者库,以简化与ES交互的操作。 2...
支持单选题、多选题、判断题 ...后端采用SpringBoot+JPA++Swagger2+JWT校验,根据不同用户的权限返回给用户不同的数据 后端采用Vue+AntDesign,组件化拆分,封装了很多年公共组件,方便维护和二次开发
`Controller对请求封装和返回`这个主题主要涉及如何有效地设计和实现Controller层,以便处理来自客户端的请求,并以适当的方式返回响应数据。ControllerUtils类的引入,通常是为了提供一些通用的方法,帮助简化...
在Java开发中,SpringBoot框架以其轻量级和便捷性被广泛应用,而OkHttp3则是一个高效的HTTP客户端库,能够优化网络请求性能。本篇文章将深入探讨如何在SpringBoot项目中利用OkHttp3进行各种API调用,包括GET、POST...
例如,创建一个Controller,接收POST请求,调用上面的`createNewDocument()`方法,然后返回结果给客户端。这样,你就可以通过Web界面或者其他的客户端应用远程控制Visio的绘图过程。 总的来说,Java结合SpringBoot...
SpringBoot以其简洁的配置和快速的开发能力深受Java开发者喜爱,而TDengine则是一款高性能、分布式、适用于物联网(IoT)场景的时序数据库系统。本Demo将这两者结合,旨在提供一个快速入门的示例,帮助开发者了解如何...
* 后台提供对应的java数据结构,每种图形对应自己的抽象模板类,整个数据对象拼接的过程都已经封装好 * 极大的方便了开发人员,只需关注业务代码和sql语句的实现即可 特点 ==== * 1.使用多种设计模式保证代码的扩展...
java调用C#封装的dll(jna,com)java调用C#封装的dll(jna,com)java调用C#封装的dll(jna,com)
这是一个基于SpringBoot的Elasticsearch客户端调用封装工具设计,使用Java语言开发,包含42个文件。主要文件类型包括30个Java源文件、2个Properties文件、2个Markdown文档、1个gitignore文件、1个JAR文件、1个...
《程序员编程指南》是一份全面涵盖Java、Spring和SpringBoot等技术的基础到进阶的知识宝典,特别适合希望深入理解并提升技能的开发者。这份资料不仅包含基础编程概念,还涉及高级特性和源码分析,旨在帮助程序员在...
基于 Java Web 项目的 SpringBoot 框架初始化模板,该模板整合了常用的框架,保证大家在此基础上能够快速开发自己的项目,该模板针对于后端启动开发小而精,本项目会由作者持续更新。 业务特性: 1、使用 Undertow ...
- 如果是查询操作,可以使用`RowMapper`或`ResultSetExtractor`来映射结果到Java对象。 8. **性能考虑** 尽管SpringJdbcTemplate提供了便利,但在高并发、大数据量的场景下,可能需要考虑其性能。例如,大量数据...
本教程将深入探讨如何在Java SpringBoot框架中整合支付宝和微信支付,以便为用户提供便捷、安全的支付体验。我们将关注扫码支付、APP支付以及JSAPI支付的实现。 首先,让我们了解SpringBoot框架。SpringBoot是基于...
在项目中,我们看到有一个`HCNetSDK.java`文件,这可能是SDK的Java封装类,包含了连接设备、控制摄像头和抓拍图片等功能。你需要根据SDK文档来理解和使用这些API。 2. **JNA库的使用**: `jna.jar`是Java Native ...
现在,我们创建一个`QiniuService`类,用于封装七牛云的操作方法。首先,初始化七牛云的配置: ```java @Configuration public class QiniuConfig { @Value("${qiniu.access-key}") private String accessKey; ...