Ich möchte überprüfen, die Roh Json, die von Retrofit in meinem Enqueue Anruf gesendet wird. Hier geht der Code meines Click-Ereignis:Überprüfen Sie Json gesendet von Retrofit
public void onClick(View v) {
ArrayList<Product> products = ((MenuAdapter)rvMenuProducts.getAdapter()).getOrderItens();
ArrayList<Item> orderItemList = new ArrayList<Item>();
for(Product p: products){
orderItemList.add(new Item(p));
}
EditText etCardNumber = (EditText) findViewById(R.id.et_card_number);
String cardNumber = etCardNumber.getText().toString();
if(GenericUtils.stringIsNotNullAndNotEmpty(cardNumber)){
NewOrder newOrder = new NewOrder(waiterId, establishmentId, cardNumber, orderItemList);
WaiterRequester.addOrder(newOrder, new Callback<AddOrderResultInfo>() {
@Override
public void onResponse(Call<AddOrderResultInfo> call, Response<AddOrderResultInfo> response) {
int a = 5;
Toast.makeText(context, "Pedido realizado com sucesso", Toast.LENGTH_SHORT).show();
}
@Override
public void onFailure(Call<AddOrderResultInfo> call, Throwable t) {
int b = 5;
Toast.makeText(context, "VISH", Toast.LENGTH_SHORT).show();
}
});
}
else{
etCardNumber.setError("ERROOOOOOO");
}
}
, dass es ist, wie ich meine API aufrufen, und ich bin immer etwas Ausnahme auf meinem api, dass ich nicht weiß, weil meine Rückkehr ein boolean ist jedoch wenn ich die Anfrage mit dem Postboten geschickt habe, funktioniert es! Hier
ist die json von Postbote gesendet:
{
"newOrder":
{
"idWaiter" : 1,
"idEstablishment": 6,
"cardNumber": "123",
"listItem": [{ "idProduct": 1, "quantity": 1 }]
}
}
Wo ist meine Klasse NewOrder:
public class NewOrder {
public int idWaiter;
public long idEstablishment;
public String cardNumber;
public ArrayList<Item> listItem;
public NewOrder() {
}
public NewOrder(int idWaiter, long idEstablishment, String cardNumber, ArrayList<Item> listItem) {
this.idWaiter = idWaiter;
this.idEstablishment = idEstablishment;
this.cardNumber = cardNumber;
this.listItem = listItem;
}
public int getIdWaiter() {
return idWaiter;
}
public void setIdWaiter(int idWaiter) {
this.idWaiter = idWaiter;
}
public long getIdEstablishment() {
return idEstablishment;
}
public void setIdEstablishment(long idEstablishment) {
this.idEstablishment = idEstablishment;
}
public String getCardNumber() {
return cardNumber;
}
public void setCardNumber(String cardNumber) {
this.cardNumber = cardNumber;
}
public ArrayList<Item> getListItem() {
return listItem;
}
public void setListItem(ArrayList<Item> listItem) {
this.listItem = listItem;
}
}
und Item:
public class Item {
public long idProduct;
public int quantity;
public Item() {
}
public Item(Product p) {
this.setQuantity(p.getQuantity());
this.setIdProduct(p.getIdProduct());
}
public Item(int idProduct, int quantity) {
this.idProduct = idProduct;
this.quantity = quantity;
}
public long getIdProduct() {
return idProduct;
}
public void setIdProduct(long idProduct) {
this.idProduct = idProduct;
}
public int getQuantity() {
return quantity;
}
public void setQuantity(int quantity) {
this.quantity = quantity;
}
}
EDIT:
Es kann nützlich sein, By Objekt ist arr Als Null im Backend.
Wie exaclty kann ich diese Protokolle drucken? – guisantogui
Wenn Sie den obigen Code verwenden, werden die Protokolle automatisch in Ihrem Logcat gedruckt –
Nicht hier gedruckt: / – guisantogui