将泛型从一类传递到另一类?

交出

这更多是泛型的问题,以及如何扩展子类以使用定义的类型。

我有一个APIResponse类,可以定义通过泛型传递的数据类型,该类还存储其他详细信息,例如消息,我想传递给调用REST服务的UI的错误。

当我尝试创建具有指定类型的APIResponseEntity的实例时,出现错误消息。我在这里可能未正确使用泛型,请您告诉我如何将返回的数据类型传递到APIResponseEntity中,这些数据最终可以在APIResponse中使用。

public class APIResponseEntity<T> extends ResponseEntity<APIResponse<T>> {


public APIResponseEntity(HttpStatus pStatusCode) {
    super(pStatusCode);
}

public APIResponseEntity(HttpStatus pStatusCode, MultiValueMap<String, String> pHeaders) {
    super(pHeaders, pStatusCode);
}

public APIResponseEntity(HttpStatus pStatusCode, APIResponse<T> pBody) {
    super(pBody, pStatusCode);
}

public APIResponseEntity(HttpStatus pStatusCode, APIResponse<T> pBody, MultiValueMap<String, String> pHeaders) {
    super(pBody, pHeaders, pStatusCode);
}

}

@JsonPropertyOrder({ "status", "error", "data", "messages" })
public final class APIResponse<T> {


private APIResponseStatus _status;

private T _data;

private APIError _error;

private List<APIMessage> _messages;


public APIResponse() {
    super();
    _messages = new ArrayList<>();
}

public APIResponse(T pData) {
    this();
    _status = APIResponseStatus.OK;
    _data = pData;
}

public APIResponse(APIError pError) {
    this();
    _status = APIResponseStatus.ERROR;
    _error = pError;
}


public APIResponseStatus getStatus() {
    return _status;
}

public void setStatus(APIResponseStatus pStatus) {
    _status = pStatus;
}

public Object getData() {
    return _data;
}

public void setData(T pData) {
    _data = pData;
}

public APIError getError() {
    return _error;
}

public void setError(APIError pError) {
    _error = pError;
}

public List<APIMessage> getMessages() {
    return _messages;
}

public void setMessages(List<APIMessage> pMessages) {
    _messages = pMessages;
}

private void addMessage(APIMessageStatus pMessageStatus, String pMessage) {
    _messages.add(new APIMessage(pMessageStatus, pMessage));
}

public void addMessageInfo(String pMessage) {
    addMessage(APIMessageStatus.INFO, pMessage);
}

public void addMessageWarning(String pMessage) {
    addMessage(APIMessageStatus.WARNING, pMessage);
}

public void addMessageError(String pMessage) {
    addMessage(APIMessageStatus.ERROR, pMessage);
}

尝试使用泛型创建APIResponseEntity对象时出现编译错误

@RequestMapping(value = "/banks", method = RequestMethod.GET)
public APIResponseEntity<List<Bank>> getBanks(WebRequest pWebRequest) {

    IUser user = getUser(pWebRequest);
    BankCriteria criteria = new BankCriteria();
    List<Bank> banks= _bankService.getBanks(user, criteria);
    APIResponse<List<Bank>> response = new APIResponse<>(banks);
    APIResponseEntity<List<Bank>> entity =  new APIResponseEntity<>(HttpStatus.OK, banks); // errror , cannot infer type arguments for APIResponseEntity
    return entity;

}
mrt181

为什么用new APIResponseEntity<>(HttpStatus.OK, banks)代替new APIResponseEntity<>(HttpStatus.OK, response)您没有定义第二个参数APIResponseEntity构造List<>函数。

将您的代码更改为此:

@RequestMapping(value = "/banks", method = RequestMethod.GET)
public APIResponseEntity<List<Bank>> getBanks(WebRequest pWebRequest) {

    IUser user = getUser(pWebRequest);
    BankCriteria criteria = new BankCriteria();
    List<Bank> banks= _bankService.getBanks(user, criteria);
    APIResponse<List<Bank>> response = new APIResponse<>(banks);
    APIResponseEntity<List<Bank>> entity =  new APIResponseEntity<List<Bank>>(HttpStatus.OK, response); // errror , cannot infer type arguments for APIResponseEntity
    return entity;
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将方法作为回调从一类传递到另一类

来自分类Dev

将整数数组从一类传递到另一类

来自分类Dev

将向量从一类传递到另一类作为对象

来自分类Dev

将ArrayList从一类传递到另一类

来自分类Dev

如何将类型从一类传递到另一类?

来自分类Dev

将结果从一类传递到另一类

来自分类Dev

如何将头寸价值从一类传递到另一类

来自分类Dev

JAVA:将值从一类传递到另一类

来自分类Dev

将布尔方法从一类传递到另一类

来自分类Dev

将String从一类传递到另一类

来自分类Dev

如何将数组从一类传递到另一类?

来自分类Dev

将属性引用从一类传递到另一类

来自分类Dev

如何在Java中将变量从一类传递到另一类?

来自分类Dev

QuartzScheduler:将数据库值从一类传递到另一类

来自分类Dev

如何将特定变量从一类继承到另一类?

来自分类Dev

如何在Xamarin中将绑定值从一类传递到另一类?

来自分类Dev

实现从一类到另一类的类型转换

来自分类Dev

从一类调用方法到另一类?

来自分类Dev

从一类到另一类的方法调用不起作用?

来自分类Dev

从一类调用方法到另一类?

来自分类Dev

获取从一类到另一类的数组长度

来自分类Dev

使用LESS将样式从一类添加到另一类

来自分类Dev

将整数从一类转移到另一类

来自分类Dev

快速地将变量从一类转移到另一类

来自分类Dev

无法使用* .get *()将数据从一类获取到另一类

来自分类Dev

如何在iOS中将NSobject类数据从一个类传递到另一类?

来自分类Dev

如何将链函数从一类添加到另一类?

来自分类Dev

CSS一类忽略另一类

来自分类Dev

一类覆盖另一类的属性

Related 相关文章

热门标签

归档