Java 播放1.4.2+;REST输入DTO为空

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) {

我创建了一个play REST应用程序,它需要输入一个
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,我无法在本地启用