开源项目

知识点

相关文章

更多

最近更新

更多

java通用返回对象

2020-08-16 10:19|来源: 书生

返回对象通常包括以下几个属性:

1、boolean success:是否成功,不管是前端或者是rpc调用,拿这个字段就可以判断是否成功了

2、int code:响应码,其实success是否为true是依靠此字段判断的。如果调用放需要对某种异常类型做特殊处理,就指定返回code进行处理即可

3、String msg:接口响应描述

4、T data:响应实体,这是一个泛型,可以指定返回不同的对象。


实例代码:

public class Result { 
 private boolean success;//是否成功 
 private Integer code;// 返回码 
 private String msg;//返回信息 
 private Object data;// 返回数据
 
 //set get method
}


相关问答

更多
  • 请注意, clazzName是一个变量,而不是一个类型。 这意味着您不能将其用作模板参数。 例如,由于您将ScanDto.class传递给它,因此您应该将其声明为Class而不仅仅是T 您可以使用反射来创建T类型的实例。 Note that clazzName is a variable, not a type. This means that you cannot use it as a template parameter. Since you are passing ScanDto.class ...
  • 您应该使用两个类共享的公共接口。 声明一个接口,例如: public interface INotes{ } public class GroupNotes implements INotes{...} public class Notes implements INotes{...} 您的代码将变为: @PreAuthorize("hasRole('ROLE_USER')") @RequestMapping(value = "/findnotebydays/{days}/{canvasid}/{m ...
  • 由于Java的类型擦除 , Map和Map之间在运行时没有区别。 泛型类型是纯粹的编译时概念。 Because of Java's type erasure, there is no difference at runtime between a Map and a Map. Generic types are a purely compile-time concept.
  • 不,由于类型擦除,这在Java中不起作用。 到代码执行时,代码不知道T是什么。 请参阅Java Generics FAQ,了解有关Java泛型的更多信息:) - 特别参见Type Erasure部分。 如果您需要在执行时知道T的类型,由于这个或其他原因,您可以将它存储在Class并将其置于构造函数中: private Class realTypeOfT; public Foo(Class clazz) { realTypeOfT = clazz; } 然后,您可以调用newInst ...
  • 编译器无法推断在thisDoesntWork()中为通用方法getGenericList()的类型参数选择何种类型。 在这种情况下,您需要通过调用getGenericList()来显式指定Type参数的Type 或者,您可以更改getGenericList()的签名以接受Class参数。 然后你将在thisWorks()和thisDoesntWork()调用getGenericList(MyListElement.class) thisDoesntWork() 。 ...
  • 你不能,你最好的选择是传递一个带有某种数据的额外字段来识别字段类型。 但那会很脏。 最好的选择是始终确定您将在JSON中获得什么样的字段,如果您实现了这一点,那么您将获得与Gson等JSON库的兼容性。 如果你不这样做,你就是你自己的,你将不得不传递某种类型的字段type:0 (其中0代表int,1代表double,依此类推......)并做一个脏switch来强制switch田地。 You can't, your best choice is pass an extra field with some k ...
  • 任何人都可以告诉我为什么我应该或不应该返回一个对象而不是我正在使用的通用元素? 两者似乎都有好处和缺点......什么是最佳做法? 这取决于。 在这样的情况下,你想要泛型类型 - 否则为类定义泛型类型有什么意义? 我隐约知道返回一个Object会导致一些转换问题,但我还没有碰到它们......有没有人有一个具体的例子说明这可能是危险的? 当然! DansPriorityQueue queue = new DansPriorityQueue(); //add items Flo ...
  • Arkadiy的答案解释了setUsername方法setUsername识别的原因。 但是,您的代码还存在其他问题。 在界面中 public interface Service { void add(T domain); boolean update(Request request); } E可以是任何类型。 您不应尝试通过坚持request的类型为Request
    来实现具体类中的update ,因为那么update方法具有不同的签名。 一种解决方案是使界面 ...
  • 我知道,因为你正在尝试学习编程,所以你正在编写自己的linked list而不是使用Java的LinkedList 。 但是,有一些你错过了。 您的equals方法应该与Object Zombie.equals(Object)签名相同。 并且,如果参数不是Zombie,它应该做的第一件事是返回false 。 每当你编写一个equals方法时,你还必须编写一个hashCode方法。 请查看大多数示例以获取详细信息。 切勿对字符串使用equals运算符。 始终使用equals方法。 用zomb.getZAge( ...
  • 您基本上有两个并行层次结构( Packet和PacketHandler ),其中一个层次结构上的每个级别与其他层次结构中的相同级别相关。 下图显示了您的结构(跳过了ThatHandler ) Packet ------------> PacketHandler ^ ^ | | ThisPacket --------> ThisPacketHandler 这些情况通常使用自引用类型参数来解决。 此 ...