Java 播放1.4.2+;REST输入DTO为空
我创建了一个play REST应用程序,它需要输入一个Java 播放1.4.2+;REST输入DTO为空,java,rest,playframework,null,playframework-1.x,Java,Rest,Playframework,Null,Playframework 1.x,我创建了一个play REST应用程序,它需要输入一个DTO,这只是一个JSON对象。但当我试图打印它时,它在控制台上是空的 到目前为止,我的代码是: public class MobileOrderDetailsRestService extends Controller { public void mobileOrderDetails(@Valid MobileOrderDetailsInputDTO dto) { //if (request.secure) {
DTO
,这只是一个JSON对象。但当我试图打印它时,它在控制台上是空的
到目前为止,我的代码是:
public class MobileOrderDetailsRestService extends Controller {
public void mobileOrderDetails(@Valid MobileOrderDetailsInputDTO dto) {
//if (request.secure) {
if(validation.hasErrors()){
System.out.println(Arrays.toString(validation.errors().toArray()));
}
System.out.println(dto);
//{
boolean isValidUser = false;
try {
Gson gson = new GsonBuilder().serializeNulls().create();
MobileOrderDetailsInputDTO mobileOrderDetailsInputDTO = gson.fromJson(
new JsonReader(new InputStreamReader(request.body)), MobileOrderDetailsInputDTO.class);
StringBuffer buff = new StringBuffer();
InputStreamReader reader = new InputStreamReader(request.body);
while(-1 != reader.read()){
buff.append(reader.read());
}
System.out.println(buff);
System.out.println(mobileOrderDetailsInputDTO);
// isValidUser = performLogin();
} catch (Exception e) {
e.printStackTrace();
}
if (isValidUser) {
response.setContentTypeIfNotSet("application/json");
Test test = new Test();
test.setName("No name");
test.setNumber(11);
renderJSON(test);
}
//} else
response.status = 501;
}
}
所以从技术上讲,除非对象有一些错误,否则对象应该出现,奇怪的是,错误也不会被打印出来
我的输入JSON和DTO类是:
{ "password":"asdsa", "progId":"asda", "userId":"asdas", "documentType":"33","orderNo": "3322", "sellerOrganizationCode":"2233","shipNode":"33", "shipmentNo":"33"}
类别:
public class MobileOrderDetailsInputDTO {
private String password;
private String progId;
private String userId;
private String documentType;
private String orderNo;
private String sellerOrganizationCode;
private String shipNode;
private String shipmentNo;
public MobileOrderDetailsInputDTO(){
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getProgId() {
return progId;
}
public void setProgId(String progId) {
this.progId = progId;
}
public String getUserId() {
return userId;
}
public void setUserId(String userId) {
this.userId = userId;
}
public String getDocumentType() {
return documentType;
}
public void setDocumentType(String documentType) {
this.documentType = documentType;
}
public String getOrderNo() {
return orderNo;
}
public void setOrderNo(String orderNo) {
this.orderNo = orderNo;
}
public String getSellerOrganizationCode() {
return sellerOrganizationCode;
}
public void setSellerOrganizationCode(String sellerOrganizationCode) {
this.sellerOrganizationCode = sellerOrganizationCode;
}
public String getShipNode() {
return shipNode;
}
public void setShipNode(String shipNode) {
this.shipNode = shipNode;
}
public String getShipmentNo() {
return shipmentNo;
}
public void setShipmentNo(String shipmentNo) {
this.shipmentNo = shipmentNo;
}
@Override
public String toString() {
return "MobileOrderDetailsInputDTO [password=" + password + ", progId=" + progId + ", userId=" + userId
+ ", documentType=" + documentType + ", orderNo=" + orderNo + ", sellerOrganizationCode="
+ sellerOrganizationCode + ", shipNode=" + shipNode + ", shipmentNo=" + shipmentNo + "]";
}
}
如果我遗漏了什么,请告诉我
版本包括:
玩1.4.2
注意:注释代码仅用于HTTPS,我无法在本地启用