我正在使用JPA使用rest控制器从数据库返回一个对象。我的问题是,当我使用new ResponseEntity<>(objectA, HttpStatus.OK);
方法返回单个对象,并返回该单个对象时,返回给客户端的JSON缺少大多数对象属性。
即返回return new ResponseEntity<>(arrayWithObjectA, HttpStatus.OK);
但是,如果我将objectA放入数组中,并返回该数组
即class Link : public QWidget {
Q_OBJECT
public:
Link(QUrl url, QWidget p = nullptr) : QWidget(p), _url(url) {}
QUrl _url;
void mouseReleaseEvent(QMouseEvent *) { QDesktopServices::openUrl(_url); }
}
使用所有属性将正确的JSON返回给客户端。
谁能解释为什么会这样呢?
由于
答案 0 :(得分:0)
创建 ResponseHandler.java 文件并写下代码
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
public class ResponseHandler {
public static ResponseEntity<Object> generateResponse(HttpStatus status, boolean error,String message, Object responseObj) {
Map<String, Object> map = new HashMap<String, Object>();
try {
map.put("timestamp", new Date());
map.put("status", status.value());
map.put("error", error);
map.put("message", message);
map.put("data", responseObj);
return new ResponseEntity<Object>(map,status);
} catch (Exception e) {
map.clear();
map.put("timestamp", new Date());
map.put("status", HttpStatus.INTERNAL_SERVER_ERROR.value());
map.put("message", e.getMessage());
return new ResponseEntity<Object>(map,status);
}
}
现在使用api
return ResponseHandler.generateResponse(HttpStatus.OK,false,"Write some message", objectA);
您的方法的返回类型应为ResponseEntity<Object>