泽西岛-HTTP状态400-邮递员对父子JSON输入的错误请求

时间:2020-10-28 06:38:10

标签: json jersey parent-child dto

现在由于以下错误而卡住了

HTTP状态400 –错误请求

类型状态报告

消息错误请求

说明由于某些东西被认为是客户端错误(例如,格式错误的请求语法,无效的请求消息框架或欺骗性的请求路由),服务器无法或不会处理请求

我从SO and Google得到了一些基于Spring的应用的解决方案。而且我了解Status 400是普遍错误。因此,我将此发布为我的案例的解决方案。

我有以下json,类和表:

表格:

Cards: CID (pk), CustomerId (Unique), ActiveStatus (varchar)
Address: AddressId (Identity), CID (fk), AddressType (Primary or Secondary Address)

卡类:

//import jars.... 

@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
public class Card {

    private static Card instance;
    
    String cardNo = ""; 
    String cardType = "";
    int clientGrp; 
    int reportId;
    String cid, Createddate, ExpriryOn, Addr, ActiveYn; 
//  List<CardAddress> Address = new LinkedList<CardAddress>(); 
    CardAddress Address = new CardAddress(); 
    
// Constructor, getters and setters 
} 

CardAddress类:

@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
public class CardAddress {
    
    private static CardAddress instance;

    String CID = "", AddressType = "", DoorNo = "", Street = "", District = "", State = "", ActiveStatus = "";
    int PinCode = 0; 
// Constructor, getters and setters 
}

POST方法:

@POST
    @Path("/adds")
    @Produces("application/json")
    @Consumes("application/json")
//  @Consumes(MediaType.MULTIPART_FORM_DATA)
    public JSONObject addCards(Card card) throws SQLException, JSONException {
        
        JsonCardDBConn jcdc = new JsonCardDBConn(); 
        DataValidation dvd = new DataValidation(); 
        JSONObject outputJsonObj = new JSONObject(); 
        
//      System.out.println(card.getAddress().getAddressType()); // here i want json values from Card[CardAddress] Json 
        System.out.println(card.getActiveYn());  // here I got json values from Card Json 
    }

卡德森(Json):仅供参考:“地址”具有字符串值

{
        "cardNo": "5234567890123456",
        "cardType": "ATM",
        "clientGrp": "1",
        "reportId": "1",
        "CustomerId": "1",
        "Createddate": "2021-10-09 09:08:26.527",
        "ExpriryOn": "2021-10-09",
        "CVC": "34",
        "Addr": "Madurai",
        "ActiveYn": "Yes"
}

Card [CardAddress] Json:仅供参考:地址具有JSONArrary对象

[
    {
        "cardNo": "0234567890123456",
        "cardType": "ATM",
        "clientGrp": "1",
        "reportId": "1",
        "CustomerId": "1",
        "Createddate": "2021-10-09",
        "ExpriryOn": "2021-10-09",
        "CVC": "2",
        "Address": [
            {
                "CID": "0234567890123456",
                "AddressType": "Primary", 
                "DoorNo": "126", 
                "Street": "1st st", 
                "District": "Chennai", 
                "State": "TamilNadu", 
                "PinCode": "625001", 
                "ActiveStatus": "Yes"
            }
        ], 
        "ActiveYn": "Yes"
        
    }
]

我的问题是,当json具有父子类数据时,如何创建DTO

预先感谢, Pugal。

0 个答案:

没有答案
相关问题