【发布时间】:2023-04-08 00:50:01
【问题描述】:
我想检查我的 enqueue 调用中由改造发送的原始 json。这是我的点击事件的代码:
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");
}
}
这就是我调用我的 API 的方式,我的 api 上出现了一些我不知道的异常,因为我的返回是一个布尔值,但是当我使用邮递员发送请求时,它可以工作!
这是邮递员发送的json:
{
"newOrder":
{
"idWaiter" : 1,
"idEstablishment": 6,
"cardNumber": "123",
"listItem": [{ "idProduct": 1, "quantity": 1 }]
}
}
我的班级 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;
}
}
和项目:
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;
}
}
编辑:
这可能很有用,By Object 在后端作为空值到达。
【问题讨论】:
标签: android json post retrofit