请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

呼叫司机一节的response

在呼叫司机这一节,返回的Response的data为空,也就是返回的订单是空的。即使编译了你的代码,还是一样的结果
{"code":200,"data":{},"msg":"修改成功"}

正在回答 回答被采纳积分+3

4回答

大利猫 2017-10-26 12:26:39

你也可以加qq群 APP架构演进实践与优化,群号码:497803826 在里面提问

0 回复 有任何疑惑可以回复我~
  • 提问者 Lorie_an #1
    我加了这个群,还没有同意我进去
    回复 有任何疑惑可以回复我~ 2017-10-26 16:55:14
  • 提问者 Lorie_an #2
    那个群拒绝了我
    回复 有任何疑惑可以回复我~ 2017-10-26 18:59:27
  • 估计你你要说明你是慕课网的学生吧
    回复 有任何疑惑可以回复我~ 2017-10-26 23:55:13
大利猫 2017-10-26 12:23:22

这个接口返回 200, 说明呼叫成功了,你打开司机端, 刷新下订单看看有没有订单?

0 回复 有任何疑惑可以回复我~
  • 提问者 Lorie_an #1
    pushkey = 12E038AAE7F8B3B3B71A1F19510121A7
    回复 有任何疑惑可以回复我~ 2017-10-26 12:32:31
  • 提问者 Lorie_an #2
    司机端的订单可以看到,
    这是我在做取消订单的时候发现取消了司机端的订单还在,
    然后打印了一下订单的id,该id为空
    所以我就打印了一下呼叫司机的接口返回的response,
    发现该response的data对应的值为{},也就是为空
    那样就是说订单从这个地方就出现问题了。
    
    请问我这么分析对吗,谢谢。
    回复 有任何疑惑可以回复我~ 2017-10-26 12:36:42
  • 你取消订单失败了? 那你要看看取消订单的请求日志和响应日志
    回复 有任何疑惑可以回复我~ 2017-10-26 23:57:01
提问者 Lorie_an 2017-10-26 10:21:29
IRequest request = new BaseRequest(API.Config.getDomain()
       + API.CALL_DRIVER);
request.setBody("key", pushKey);
request.setBody("uid",uid);
request.setBody("phone", phone);
request.setBody("startLatitude",
       new Double(startLocation.getLatitude()).toString() );
request.setBody("startLongitude",
       new Double(startLocation.getLongitude()).toString() );
request.setBody("endLatitude",
       new Double(endLocation.getLatitude()).toString() );
request.setBody("endLongitude",
       new Double(endLocation.getLongitude()).toString() );

request.setBody("cost", new Float(cost).toString());

//这里面的参数都能打印出来,不为空,pushKey可以用,uid在一串数字前面是一串0

IRespone response = mClient.post(request, false);
OptStateResponse optStateResponse = new OptStateResponse();
if (response.getCode() == BaseBizResponse.STATE_OK){
   optStateResponse = new Gson().fromJson(response.getData(),
           OptStateResponse.class);
   Order data = optStateResponse.getData();
   Log.d(TAG, "call: order = " + response.getData());
   Log.d(TAG, "call: orderid = " + data.getOrderId());
}

optStateResponse.setCode(response.getCode());
optStateResponse.setState(OptStateResponse.OPT_STATE_CREATED);
return optStateResponse;


//API的URL为:public static final String CALL_DRIVER = "/f34e28da5816433d/callDriver";

0 回复 有任何疑惑可以回复我~
大利猫 2017-10-26 10:15:34

谢谢提问。你看看请求的是哪个接口,把请求的url 和请求参数发我看看?

0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信